[
  {
    "path": "README.md",
    "content": "Low Level Devel\n\nCode for https://www.youtube.com/playlist?list=PLVxiWMqQvhg9FCteL7I0aohj1_YiUx1x8\n"
  },
  {
    "path": "linux_os/part1/src/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n\nunsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nunsigned long _strlen(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid print_string(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)_strlen(str), 0, 0, 0);\n}\n\nunsigned long open_file(char *fn, int flags) {\n    return _syscall(SYS_open, fn, flags, 0, 0, 0, 0);\n}\n\nunsigned long read_file(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, fd, buff, size, 0, 0, 0);\n}\n\nint main() {\n    char *msg = \"MyOS 0.0.0.1 Initializing...\\n\";\n\n    delay(1000000000);\n\n    print_string(msg);\n\n    delay(1000000000);\n\n    char buff[255];\n    char *filename = \"/src/init.c\";\n\n    print_string(\"Opening file: \");\n    print_string(filename);\n    print_string(\"\\n\");\n\n    unsigned long fd = open_file(filename, O_RDONLY);\n\n    read_file(fd, buff, sizeof(buff));\n\n    print_string(buff);\n\n    while(1) {\n        //event loop, for now just tick...\n        delay(1000000000);\n        print_string(\"TICK!\\n\");\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part1/src/start.S",
    "content": ".globl _start\n.text\n_start:\n    call main\n\n.globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n"
  },
  {
    "path": "linux_os/part10/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part10/src/drmlist/Makefile",
    "content": "\nTARGET=drmlist\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lmydrm -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/drmlist/drmlist.c",
    "content": "#include <mydrm.h>\n#include <mylib.h>\n#include <printf.h>\n#include <fcntl.h>\n\nstruct mydrm_buf {\n    uint32_t width;\n    uint32_t height;\n    uint32_t stride;\n    uint32_t size;\n    uint32_t handle;\n    uint8_t *map;\n    uint32_t fb;\n};\n\nstruct mydrm_data {\n    int fd;\n    struct mydrm_buf framebuffer[2];\n    uint32_t crt_id;\n    bool pflip_pending;\n    bool cleanup;\n    int front_buf;\n    uint32_t width;\n    uint32_t height;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct drm_mode_crtc saved_crtc;\n\nint set_mode(struct mydrm_data *data, struct drm_mode_get_connector conn, struct drm_mode_modeinfo mode);\n\nint main(int argc, char **argv) {\n    printf(\"DRM modes:\\n\");\n\n    int fd = mydrm_open(\"/dev/dri/card0\");\n    struct drm_mode_card_res res;\n\n    if (mydrm_get_resources(fd, &res)) {\n        printf(\"Failed to open card0 resources\\n\");\n        return -1;\n    }\n\n    int hres = 0;\n    int vres = 0;\n\n    if (argc == 3) {\n        hres = str_to_int(argv[1]);\n        vres = str_to_int(argv[2]);\n\n        printf(\"Attempting to set res: %dx%d\\n\", hres, vres);\n    }\n\n    struct mydrm_data data;\n    data.cleanup = false;\n    data.pflip_pending = false;\n    data.front_buf = 0;\n    data.width = hres;\n    data.height = vres;\n    data.fd = fd;\n\n    sys_ioctl(fd, DRM_IOCTL_SET_MASTER, 0);\n\n    printf(\"DRM Connectors: %d\\n\", res.count_connectors);\n    sleep_sec(1);\n\n    for (int i=0; i<res.count_connectors; i++) {\n        uint32_t *connectors = (uint32_t *)res.connector_id_ptr;\n\n        struct drm_mode_get_connector conn;\n        int ret = mydrm_get_connector(fd, connectors[i], &conn);\n\n        if (ret) {\n            printf(\"\\tFailed to get connector: %d\\n\", ret);\n            continue;\n        }\n\n        //printf(\"Found Connector: %d - %d.  Modes %d\\n\", i, connectors[i], conn.count_modes);\n\n        if (conn.connection != DRM_MODE_CONNECTED) {\n            //printf(\"\\tIgnoring unconnected connector. (%d)\\n\", conn.connection);\n            continue;\n        }\n\n        struct drm_mode_modeinfo *modes = (struct drm_mode_modeinfo *)conn.modes_ptr;\n\n        for (int m=0; m<conn.count_modes; m++) {\n            printf(\"\\tMode: %dx%d\\n\", modes[m].hdisplay, modes[m].vdisplay);\n\n            //sleep_sec(1);\n\n            if (hres == modes[m].hdisplay && vres == modes[m].vdisplay) {\n                return set_mode(&data, conn, modes[m]);\n            }\n        }\n    }\n\n    sys_ioctl(fd, DRM_IOCTL_DROP_MASTER, 0);\n\n    return 0;\n}\n\nbool create_framebuffer(int fd, struct mydrm_buf *buf) {\n    struct drm_mode_create_dumb creq;\n    struct drm_mode_create_dumb dreq;\n    struct drm_mode_map_dumb mreq;\n\n    mem_set(&creq, 0, sizeof(creq));\n    creq.width = buf->width;\n    creq.height = buf->height;\n    creq.bpp = 32;\n\n    int ret = mydrm_ioctl(fd, DRM_IOCTL_MODE_CREATE_DUMB, &creq);\n\n    if (ret < 0) {\n        printf(\"Failed to create buffer: %d\\n\", ret);\n        return false;\n    }\n\n    buf->stride = creq.pitch;\n    buf->size = creq.size;\n    buf->handle = creq.handle;\n\n    struct drm_mode_fb_cmd fbcmd;\n    mem_set(&fbcmd, 0, sizeof(fbcmd));\n    fbcmd.width = buf->width;\n    fbcmd.height = buf->height;\n    fbcmd.depth = 24;\n    fbcmd.bpp = 32;\n    fbcmd.pitch = buf->stride;\n    fbcmd.handle = buf->handle;\n\n    ret = mydrm_ioctl(fd, DRM_IOCTL_MODE_ADDFB, &fbcmd);\n\n    if (ret < 0) {\n        printf(\"Failed to add FB: %d\\n\", ret);\n        return false;\n    }\n\n    buf->fb = fbcmd.fb_id;\n    mem_set(&mreq, 0, sizeof(mreq));\n    mreq.handle = buf->handle;\n\n    ret = mydrm_ioctl(fd, DRM_IOCTL_MODE_MAP_DUMB, &mreq);\n\n    if (ret) {\n        printf(\"Failed to map FB: %d\\n\", ret);\n        return false;\n    }\n\n    buf->map = sys_mmap(0, buf->size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, mreq.offset);\n\n    if (((int64_t)buf->map) == -1) {\n        printf(\"Failed to map FB!\\n\");\n        return false;\n    }\n\n    mem_set(buf->map, 0, buf->size);\n\n    return true;\n}\n\nint cursor_size = 20;\nuint32_t bg_color = 0xFF999999;\n                        //AARRGGBB\nuint32_t cursor_color = 0xFF0000FF;\n\nbool left_down = false;\nbool right_down = false;\n\nstatic void draw_data(int fd, struct mydrm_data *data) {\n    struct mydrm_buf *buf = &data->framebuffer[data->front_buf ^ 1];\n\n    int start_x = mouse_pos.x;\n    int start_y = mouse_pos.y;\n\n    uint32_t *p = (uint32_t *)buf->map;\n\n    //clear background.\n    mem_set(p, bg_color, buf->size);\n\n    for (int x=0; x<cursor_size; x++) {\n        for (int y=0; y<cursor_size; y++) {\n            int pos = (start_x + x) + ((start_y + y) * data->width);\n\n            if (pos * 4 >= buf->size) {\n                //don't try to draw past end of buffer..\n                break;\n            }\n\n            uint32_t color = cursor_color;\n\n            if (left_down) {\n                color |= 0x00FF0000;\n            }\n\n            if (right_down) {\n                color |= 0x0000FF00;\n            }\n\n            p[pos] = color;\n        }\n    }\n\n    struct drm_mode_crtc_page_flip flip;\n    flip.fb_id = buf->fb;\n    flip.crtc_id = data->crt_id;\n    flip.user_data = (uint64_t)data;\n    flip.flags = DRM_MODE_PAGE_FLIP_EVENT;\n    flip.reserved = 0;\n\n    int ret = mydrm_ioctl(fd, DRM_IOCTL_MODE_PAGE_FLIP, &flip);\n\n    if (!ret) {\n        data->pflip_pending = true;\n        data->front_buf ^= 1;\n    } else {\n        printf(\"Failed to flip: %d\\n\", ret);\n    }\n}\n\nstatic void page_flip_event(int fd, uint32_t frame, uint32_t sec, uint32_t usec, void *data) {\n    struct mydrm_data *dev = data;\n\n    dev->pflip_pending = false;\n\n    if (!dev->cleanup) {\n        draw_data(fd, dev);\n    }\n}\n\nint set_mode(struct mydrm_data *data, struct drm_mode_get_connector conn, struct drm_mode_modeinfo mode) {\n    if (!conn.encoder_id) {\n        printf(\"No encoder found!\\n\");\n        return -1;\n    }\n\n    struct drm_mode_get_encoder enc;\n    int ret = 0;\n\n    if (ret = mydrm_get_encoder(data->fd, conn.encoder_id, &enc)) {\n        printf(\"Encoder load failed: %d, %d - %d - %X\\n\", ret, data->fd, conn.encoder_id, &enc);\n        return -1;\n    }\n\n    if (!enc.crtc_id) {\n        printf(\"No CRT Controller!\\n\");\n        return -1;\n    }\n\n    data->framebuffer[0].width = mode.hdisplay;\n    data->framebuffer[0].height = mode.vdisplay;\n    data->framebuffer[1].width = mode.hdisplay;\n    data->framebuffer[1].height = mode.vdisplay;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = mode.hdisplay;\n    mouse_pos.max_y = mode.vdisplay;\n\n    if (!create_framebuffer(data->fd, &data->framebuffer[0])) {\n        printf(\"Failed to create framebuffer 1!\\n\");\n        return -1;\n    }\n\n    if (!create_framebuffer(data->fd, &data->framebuffer[1])) {\n        printf(\"Failed to create framebuffer 2!\\n\");\n        return -1;\n    }\n\n    printf(\"Buffer created with size: %d\\n\", data->framebuffer[0].size);\n\n    struct drm_mode_crtc crtc;\n    mem_set(&crtc, 0, sizeof(crtc));\n    crtc.crtc_id = enc.crtc_id;\n\n    data->crt_id = enc.crtc_id;\n\n    //get the current CRTC, should be FB controller.\n    ret = mydrm_ioctl(data->fd, DRM_IOCTL_MODE_GETCRTC, &crtc);\n    saved_crtc = crtc;\n\n    printf(\"Get CRTC: %d = %d (%d, %d, %x, %s)\\n\", crtc.crtc_id, ret, crtc.fb_id, crtc.count_connectors, crtc.set_connectors_ptr, crtc.mode.name);\n\n    mem_set(&crtc, 0, sizeof(crtc));\n    crtc.crtc_id = enc.crtc_id;\n\n    mem_copy(&crtc.mode, &mode, sizeof(mode));\n    crtc.x = 0;\n    crtc.y = 0;\n    crtc.fb_id = data->framebuffer[0].fb;\n    crtc.count_connectors = 1;\n    crtc.set_connectors_ptr = (uint64_t)&conn.connector_id;\n    crtc.mode_valid = 1;\n\n    int mouse_fd = sys_open(\"/dev/input/mice\", O_RDONLY);\n\n    printf(\"MOUSE_FD: %d\\n\", mouse_fd);\n    printf(\"CRTC RES: %d/%d...\\n\", crtc.mode.hdisplay, crtc.mode.vdisplay);\n\n    sleep_sec(4);\n\n    //about to set mode...\n    ret = mydrm_ioctl(data->fd, DRM_IOCTL_MODE_SETCRTC, &crtc);\n\n    if (ret) {\n        printf(\"FAILED TO SET CRTC! %d\\n\", ret);\n        return ret;\n    }\n\n    sleep_sec(1);\n\n    draw_data(data->fd, data);\n\n    fd_set fds;\n    FD_ZERO(&fds);\n\n    struct mydrm_event_context ev;\n    mem_set(&ev, 0, sizeof(ev));\n    ev.version = 2;\n    ev.page_flip_handler = page_flip_event;\n\n    while(true) {\n        FD_SET(0, &fds);\n        FD_SET(data->fd, &fds);\n        FD_SET(mouse_fd, &fds);\n\n        ret = sys_select(mouse_fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED! %d\\n\", ret);\n            break;\n        }\n\n        if (FD_ISSET(0, &fds)) {\n            //user pressed key...\n            break;\n        }\n\n        if (FD_ISSET(data->fd, &fds)) {\n            //drawing happened on the buffer...\n            mydrm_handle_event(data->fd, &ev);\n        }\n\n        if (FD_ISSET(mouse_fd, &fds)) {\n            //mouse event..\n            char buffer[3];\n            int r = sys_read(mouse_fd, buffer, 3);\n\n            mouse_pos.x += buffer[1];\n            mouse_pos.y -= buffer[2];\n            left_down = buffer[0] & 1;\n            right_down = buffer[0] & 2;\n\n            if (mouse_pos.x > mouse_pos.max_x - cursor_size) {\n                mouse_pos.x = mouse_pos.max_x - cursor_size;\n            }\n\n            if (mouse_pos.y > mouse_pos.max_y - cursor_size) {\n                mouse_pos.y = mouse_pos.max_y - cursor_size;\n            }\n\n            printf(\"MOUSE: %d, %d, %d\\n\", buffer[0], buffer[1], buffer[2]);\n        }\n    }\n\n    //after loop, restore original CRTC...\n\n    saved_crtc.count_connectors = 1;\n    saved_crtc.mode_valid = 1;\n    saved_crtc.set_connectors_ptr = (uint64_t)&conn.connector_id;\n\n    ret = mydrm_ioctl(data->fd, DRM_IOCTL_MODE_SETCRTC, &saved_crtc);\n\n    sys_ioctl(data->fd, DRM_IOCTL_DROP_MASTER, 0);\n\n    sys_close(data->fd);\n\n    printf(\"DONE!\\n\");\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part10/src/fbset/Makefile",
    "content": "\nTARGET=fbset\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/fbset/fbset.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <errno.h>\n#include <fcntl.h>\n#include \"printf.h\"\n\nint fill_fb(void *pbuffer, struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi, uint32_t color) {\n    for (int x=0; x<vi->xres; x++) {\n        for (int y=0; y<vi->yres; y++) {\n            int location = (x + vi->xoffset) * (vi->bits_per_pixel / 8) + (y + vi->yoffset) * fi->line_length;\n            uint32_t *pb = (uint32_t*)(pbuffer + location);\n            *pb = color;\n        }\n    }\n}\n\nint main(int argc, char **argv) {\n    printf(\"Frame Buffer Setting...\\n\");\n\n    if (argc < 3) {\n        printf(\"Usage: fbset <xres> <yres>\\n\");\n        return -1;\n    }\n\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    int xres = str_to_int(argv[1]);\n    int yres = str_to_int(argv[2]);\n\n    printf(\"Current resolution: %dx%d\\n\", vi.xres, vi.yres);\n    printf(\"Setting resolution: %dx%d\\n\", xres, yres);\n\n    vi.xres = vi.xres_virtual = xres;\n    vi.yres = vi.yres_virtual = yres;\n\n    if (fb_put_info(&vi) != FB_SUCCESS) {\n        printf(\"FAILED TO SET BUFFER: %d\", errno);\n        return -1;\n    }\n\n    void *pbuffer = fb_get_buffer();\n\n    if (fb_get_info(&vi, &fi) != FB_SUCCESS) {\n        printf(\"FAILED TO GET VIDEO INFO: %d\\n\", errno);\n        return -1;\n    }\n\n    sleep_sec(2);\n\n    fill_fb(pbuffer, &vi, &fi, 0xFFFFFFFF);\n\n    sleep_sec(2);\n\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_GRAPHICS);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFFFF0000);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF00FF00);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF0000FF);\n\n    sleep_sec(2);\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_TEXT);\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part10/src/include/libfb.h",
    "content": "#include <linux/fb.h>\n#include <linux/kd.h>\n\n#define FB_ERR_NOFB0 -1\n#define FB_ERR_GETINFO -2\n#define FB_ERR_PUTINFO -3\n#define FB_ERR_MMAP -4\n#define FB_SUCCESS 0\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi);\nint fb_put_info(struct fb_var_screeninfo *vi);\nvoid *fb_get_buffer();\n\n"
  },
  {
    "path": "linux_os/part10/src/include/mydrm.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n#include <drm/drm.h>\n#include <drm/drm_mode.h>\n\nstruct mydrm_get_cap {\n    uint64_t capability;\n    uint64_t value;\n};\n\nenum mydrm_modes {\n    DRM_MODE_CONNECTED = 1,\n    DRM_MODE_DISCONNECTED = 2,\n    DRM_MODE_UNKNOWN = 3\n};\n\nstruct mydrm_event_context {\n    int version;\n    void (*vblank_handler)(int fd, uint32_t sequence, uint32_t tv_sec, uint32_t tv_usec, void *user_data);\n    void (*page_flip_handler)(int fd, uint32_t sequence, uint32_t tv_sec, uint32_t tv_usec, void *user_data);\n};\n\nextern int mydrm_ioctl(int fd, unsigned long request, void *arg);\nextern int mydrm_open(const char *device_node);\nextern int mydrm_get_resources(int fd, struct drm_mode_card_res *res);\nextern int mydrm_get_connector(int fd, int id, struct drm_mode_get_connector *conn);\n\nextern int mydrm_get_encoder(int fd, int id, struct drm_mode_get_encoder *enc);\nextern int mydrm_handle_event(int fd, struct mydrm_event_context *context);\n\n\n"
  },
  {
    "path": "linux_os/part10/src/include/mylib.h",
    "content": "#pragma once\n\n#include <sys/wait.h>\n#include <time.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <sys/select.h>\n#include <sys/mman.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <sys/wait.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\nextern void *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);\nextern int sys_munmap(void *addr, size_t length);\nextern void *malloc(size_t size);\nextern void free(void *addr);\n\nextern int sys_stat(const char *pathname, struct stat *statbuf);\nextern int sys_close(unsigned long fd);\nextern int sys_ioctl(unsigned long fd, unsigned long cmd, void *arg);\n\nextern int sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);\n"
  },
  {
    "path": "linux_os/part10/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part10/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/init/crt0.S",
    "content": ".globl _start\n\n_start: # _start is the entry point known to the linker\n    xor %ebp, %ebp            # effectively RBP := 0, mark the end of stack frames\n    mov (%rsp), %edi          # get argc from the stack (implicitly zero-extended to 64-bit)\n    lea 8(%rsp), %rsi         # take the address of argv from the stack\n    lea 16(%rsp,%rdi,8), %rdx # take the address of envp from the stack\n    xor %eax, %eax            # per ABI and compatibility with icc\n    call main                 # %edi, %rsi, %rdx are the three args (of which first two are C standard) to main\n\n    mov %eax, %edi    # transfer the return of main to the first argument of _exit\n    xor %eax, %eax    # per ABI and compatibility with icc\n    call _exit        # terminate the program\n"
  },
  {
    "path": "linux_os/part10/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n#include <libfb.h>\n#include <linux/vt.h>\n\nuint32_t fix_color(uint32_t num) {\n    return (num & 0xFF00FF00) | ((num & 0xFF) << 16) | ((num >> 16) & 0xFF);\n}\n\nint main() {\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_GRAPHICS);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    vi.xres = vi.xres_virtual = 1024;\n    vi.yres = vi.yres_virtual = 768;\n\n    //add error handling here normally...\n    fb_put_info(&vi);\n\n    void *pbuffer = fb_get_buffer();\n\n    int fd = sys_open(\"/etc/myos.img\", O_RDONLY);\n    int buff_size = sizeof(int) * 1024 * 768;\n    int *buff = malloc(buff_size);\n    sys_read(fd, buff, buff_size);\n    sys_close(fd);\n\n    int i = 0;\n\n    for (int y=0; y<vi.yres; y++) {\n        for (int x=0; x<vi.xres; x++) {\n            int location = (x + vi.xoffset) * (vi.bits_per_pixel / 8) + (y + vi.yoffset) * fi.line_length;\n            uint32_t *pb = (uint32_t *)(pbuffer + location);\n            *pb = fix_color(buff[i]);\n            i++;\n        }\n    }\n\n    sleep_sec(5);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_TEXT);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part10/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = malloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nchar **cmd_to_args(char *cmd) {\n    int num_spaces = 0;\n    int len = str_len(cmd);\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == ' ') {\n            cmd[i] = 0;\n            num_spaces++;\n        }\n    }\n\n    char **argv = malloc(sizeof(char *) * (num_spaces + 1));\n    int cur_item = 0;\n    argv[0] = cmd;\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == 0) {\n            argv[++cur_item] = cmd + i + 1;\n        }\n    }\n\n    argv[++cur_item] = 0;\n\n    return argv;\n}\n\nbool find_command(char *fullPath) {\n    struct stat statbuf;\n    char binPath[64];\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    sprintf(binPath, \"/bin/%s\", fullPath);\n    str_copy(fullPath, binPath);\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    return false;\n}\n\nbool process_command(char *cmd) {\n    char **argv = cmd_to_args(cmd);\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    } else if (str_eq(cmd, \"alloc\")) {\n        int size = 0;\n\n        if (argv[1]) {\n            //brk 4096\n            size = str_to_int(argv[1]);\n        }\n\n        void *p = malloc(size);\n\n        printf(\"Returned pointer: %lX\\n\", p);\n\n        print_heap();\n    } else if (str_eq(cmd, \"free\")) {\n        //free ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        free(addr);\n\n        print_heap();\n    } else if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        //second arg..\n        char *val = argv[2];\n\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    } else if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    } else if (str_eq(cmd, \"events\")) {\n        handle_events();\n    } else {\n        struct stat statbuf;\n        char fullPath[64];\n        str_copy(fullPath, cmd);\n\n        if (find_command(fullPath)) {\n            long pid = sys_fork();\n\n            if (pid == 0) {\n                char *envp[1];\n                envp[0] = 0;\n\n                int ret = sys_execve(fullPath, argv, envp);\n                printf(\"Ret: %d\\n\", ret);\n                \n                free(argv);\n                _exit(ret);\n                \n                return false;\n            } else {\n                siginfo_t info;\n                int status = 0;\n\n                int ret = sys_waitid(P_PID, pid, &info, WEXITED);\n                printf(\"Process Returned: %d\\n\", ret);\n            }\n        }\n    }\n\n    free(argv);\n    return true;\n}\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    print_heap();\n\n    console_open();\n    load_event_devices();\n\n    print_heap();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        if (str_eq(\"\", buff)) {\n            str_print(\" :> \");\n            continue;\n        }\n\n        if (!process_command(buff)) {\n            return 0;\n        }\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part10/src/libfb/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libfb.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/libfb/fb.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <fcntl.h>\n#include <errno.h>\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDONLY);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nint fb_put_info(struct fb_var_screeninfo *vi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOPUT_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_PUTINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nvoid *fb_get_buffer() {\n    struct fb_fix_screeninfo fi;\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return (void *)FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, &fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return (void *)FB_ERR_GETINFO;\n    }\n\n    void *fb = sys_mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);\n\n    sys_close(fd);\n\n    return fb;\n}\n"
  },
  {
    "path": "linux_os/part10/src/mydrm/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmydrm.so\nCSOURCES = $(shell echo *.c)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/mydrm/mydrm.c",
    "content": "#include <mydrm.h>\n#include <mylib.h>\n#include <fcntl.h>\n#include <errno.h>\n\n#ifndef O_CLOEXEC\n#define O_CLOEXEC\t02000000\n#endif\n\nint mydrm_ioctl(int fd, unsigned long request, void *arg) {\n    int ret;\n\n    do {\n        ret = sys_ioctl(fd, request, arg);\n    } while(ret == -EINTR || ret == -EAGAIN);\n\n    return ret;\n}\n\n//opening a device such as /dev/dri/card0\nint mydrm_open(const char *device_node) {\n    int fd = sys_open((char *)device_node, O_RDWR | O_CLOEXEC);\n\n    if (fd < 0) {\n        return fd;\n    }\n\n    struct mydrm_get_cap get_cap = {\n        .capability = DRM_CAP_DUMB_BUFFER,\n        .value = 0\n    };\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_GET_CAP, &get_cap) < 0 || !get_cap.value) {\n        return -EOPNOTSUPP;\n    }\n\n    return fd;\n}\n\nint mydrm_get_resources(int fd, struct drm_mode_card_res *res) {\n    mem_set(res, 0, sizeof(struct drm_mode_card_res));\n\n    int ior = 0;\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, res)) {\n        return -1;\n    }\n\n    if (res->count_fbs) {\n        res->fb_id_ptr = (uint64_t)malloc(res->count_fbs * sizeof(uint32_t));\n        mem_set((void *)res->fb_id_ptr, 0, res->count_fbs * sizeof(uint32_t));\n    }\n\n    if (res->count_crtcs) {\n        res->crtc_id_ptr = (uint64_t)malloc(res->count_crtcs * sizeof(uint32_t));\n        mem_set((void *)res->crtc_id_ptr, 0, res->count_crtcs * sizeof(uint32_t));\n    }\n\n    if (res->count_connectors) {\n        res->connector_id_ptr = (uint64_t)malloc(res->count_connectors * sizeof(uint32_t));\n        mem_set((void *)res->connector_id_ptr, 0, res->count_connectors * sizeof(uint32_t));\n    }\n\n    if (res->count_encoders) {\n        res->encoder_id_ptr = (uint64_t)malloc(res->count_encoders * sizeof(uint32_t));\n        mem_set((void *)res->encoder_id_ptr, 0, res->count_encoders * sizeof(uint32_t));\n    }\n\n    ior = mydrm_ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, res);\n\n    if (ior) {\n        return -1;\n    }\n\n    return 0;\n}\n\nint mydrm_get_connector(int fd, int id, struct drm_mode_get_connector *conn) {\n    mem_set(conn, 0, sizeof(struct drm_mode_get_connector));\n    conn->connector_id = id;\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn)) {\n        return -1;\n    }\n\n    if (conn->count_props) {\n        conn->props_ptr = (uint64_t)malloc(conn->count_props * sizeof(uint32_t));\n        conn->prop_values_ptr = (uint64_t)malloc(conn->count_props * sizeof(uint64_t));\n    }\n\n    if (conn->count_modes) {\n        conn->modes_ptr = (uint64_t)malloc(conn->count_modes * sizeof(struct drm_mode_modeinfo));\n    }\n\n    if (conn->count_encoders) {\n        conn->encoders_ptr = (uint64_t)malloc(conn->count_encoders * sizeof(uint32_t));\n    }\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn)) {\n        return -1;\n    }\n\n    return 0;\n}\n\nint mydrm_get_encoder(int fd, int id, struct drm_mode_get_encoder *enc) {\n    mem_set(enc, 0, sizeof(struct drm_mode_get_encoder));\n    enc->encoder_id = id;\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETENCODER, enc)) {\n        return -1;\n    }\n\n    return 0;\n}\n\n\nint mydrm_handle_event(int fd, struct mydrm_event_context *context) {\n    char buffer[1024];\n    struct drm_event *e;\n\n    int len = sys_read(fd, buffer, sizeof(buffer));\n\n    if (!len) {\n        return 0;\n    }\n\n    if (len < sizeof(struct drm_event)) {\n        return -1;\n    }\n\n    int i=0; \n    while(i < len) {\n        e = (struct drm_event *)&buffer[i];\n        i += e->length;\n\n        switch(e->type) {\n            case DRM_EVENT_FLIP_COMPLETE: {\n                struct drm_event_vblank *vb = (struct drm_event_vblank *)e;\n                context->page_flip_handler(fd, vb->sequence, vb->tv_sec, vb->tv_usec, (void *)vb->user_data);\n            } break;\n        }\n    }\n\n    return 0;\n}\n\n\n"
  },
  {
    "path": "linux_os/part10/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/mylib/mem.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\n#define DEBUG_MEM 1\n#define FLAG_MEM_ALLOCATED 1\n#define FLAG_MEM_MAPPED 2\n\nstatic const int PAGE_SIZE = 4096;\nstatic const int RESIZE_THRESHOLD = 16;\nstatic const int MMAP_THRESHOLD = 128 * 1024;\nstatic const int HEADER_SIZE = 4;\nstatic const int HEADER_FULL_SIZE = HEADER_SIZE * 2;\n\nstatic uint32_t HEADER_SIZE_MASK = 0xFFFFFFF8;\nstatic uint32_t HEADER_FLAGS_MASK = 7; //0111\n\n/*\n    CHUNK_HEADER {\n        size: 29-bits - 8 bit aligned\n        flags: 3-bits\n    }\n\n    HEAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n        header: 4 bytes\n    }\n\n    MMAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n    }\n\n    Header Flags:\n        Bit 0 - 0 = free, 1 = allocated\n        Bit 1 - 0 = heap, 1 = mmap\n        Bit 2 - reserved.\n\n    Heap Layout:\n    |-H1-SIZE-FLAGS-| < heap start, first chunk header.\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H1-SIZE-FLAGS-| < first chunk header\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------| < heap end (current brk value)\n*/\n\nstatic uint8_t *p_heap_start = NULL;\nstatic uint8_t *p_first_free = NULL;\nstatic uint8_t *p_heap_end = NULL;\n\n#define P_AS_U32(p) ((uint32_t*)p)\n\nstatic inline uint32_t chunk_size(uint8_t *p) {\n    return *P_AS_U32(p) & HEADER_SIZE_MASK;\n}\n\nstatic inline bool is_chunk_alloc(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_ALLOCATED;\n}\n\nstatic inline bool is_chunk_free(uint8_t *p) {\n    return !is_chunk_alloc(p);\n}\n\nstatic inline bool is_chunk_mapped(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_MAPPED;\n}\n\nstatic inline uint8_t *next_chunk(uint8_t *p) {\n    return (p + chunk_size(p) + HEADER_FULL_SIZE);\n}\n\nstatic inline uint8_t *chunk_set_size(uint8_t *p, size_t size) {\n    *P_AS_U32(p) = size;\n    *P_AS_U32((p + size + HEADER_SIZE)) = size;\n    return p;\n}\n\nstatic inline uint8_t *chunk_set_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) |= flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) |= flags;\n    return p;\n}\n\nstatic inline uint8_t *chunk_unset_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) &= ~flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) &= ~flags;\n    return p;\n}\n\nstatic inline size_t align_8(size_t size) {\n    uint32_t flags = size & HEADER_FLAGS_MASK;\n    return flags ? size + 8 - flags : size;\n}\n\nstatic void init_heap() {\n    p_heap_start = sys_brk(NULL);\n    p_heap_end = p_heap_start + PAGE_SIZE;\n    sys_brk(p_heap_end);\n\n    //the first free entry is at the start of the heap...\n    p_first_free = p_heap_start;\n\n    //nothing allocated yet, so set size full...\n    chunk_set_size(p_first_free, PAGE_SIZE - HEADER_FULL_SIZE);\n\n    if (DEBUG_MEM) {\n        printf(\"MEM: Init Heap:\\n\");\n        printf(\"MEM: \\tStart: %lX\\n\", p_heap_start);\n        printf(\"MEM: \\tEnd  : %lX\\n\", p_heap_end);\n        printf(\"MEM: \\tFirst Size: %ld\\n\", chunk_size(p_first_free));\n        printf(\"MEM: \\tHeap  Size: %ld\\n\", p_heap_end - p_heap_start);\n        \n    }\n}\n\nvoid print_heap() {\n    if (!DEBUG_MEM) {\n        return;\n    }\n\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    printf(\"MEM: Heap Info %lX to %lX (%ld):\\n\", p_heap_start, p_heap_end, p_heap_end - p_heap_start);\n\n    uint8_t *p = p_heap_start;\n\n    while(p < p_heap_end) {\n        printf(\"\\tMEM: %lX Size: %d - %s\\n\", p, chunk_size(p), is_chunk_free(p) ? \"FREE\" : \"ALLOC\");\n        p = next_chunk(p);\n    }\n}\n\nstatic uint8_t *find_first_fit(size_t size) {\n    for (uint8_t *p = p_first_free; p < p_heap_end; p = next_chunk(p)) {\n        if (is_chunk_free(p) && chunk_size(p) >= size) {\n            return p;\n        }\n    }\n\n    return NULL; //need more memory.\n}\n\nstatic uint8_t *alloc_new_memory(size_t in_size) {\n    int num_pages = (in_size / PAGE_SIZE) + 1;\n\n    if (in_size % PAGE_SIZE < HEADER_FULL_SIZE) {\n        //there is enough space for buffer, but not buffer + headers.\n        num_pages++;\n    }\n\n    size_t size = num_pages * PAGE_SIZE;\n\n    char *prev_end = p_heap_end;\n    p_heap_end = sys_brk(p_heap_end + size);\n\n    return chunk_set_size(prev_end, size - HEADER_FULL_SIZE);\n}\n\nvoid *malloc(size_t in_size) {\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    if (in_size >= MMAP_THRESHOLD) {\n        //not going to use heap, actually use mmap instead...\n        uint8_t *p = sys_mmap(NULL, in_size + HEADER_SIZE_MASK, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        chunk_set_size(p, in_size);\n        chunk_set_flags(p, FLAG_MEM_MAPPED | FLAG_MEM_ALLOCATED);\n\n        //user's pointer starts just past the header.\n        return p + HEADER_SIZE;\n    }\n\n    //not mmap, use heap instead.\n\n    //8 bit align the size...\n    size_t size = align_8(in_size);\n\n    uint8_t *p = find_first_fit(size);\n\n    if (p == NULL) {\n        p = alloc_new_memory(size);\n    }\n\n    size_t csize = chunk_size(p);\n    size_t diff = csize - size;\n\n    if (diff > RESIZE_THRESHOLD) {\n        size_t next_size = diff - HEADER_FULL_SIZE;\n\n        chunk_set_size(p, size);\n        chunk_set_size(next_chunk(p), next_size);\n    }\n\n    chunk_set_flags(p, FLAG_MEM_ALLOCATED);\n\n    return p + HEADER_SIZE;\n}\n\nvoid free(void *up) {\n    uint8_t *p = ((uint8_t *)up) - HEADER_SIZE;\n\n    if (is_chunk_mapped(p)) {\n        //it was not on the heap, unmap it.\n        int ret = sys_munmap(p, chunk_size(p) + HEADER_SIZE);\n\n        if (DEBUG_MEM) {\n            printf(\"MEM: free mapped, returned %d\\n\", ret);\n        }\n\n        return;\n    }\n\n    chunk_unset_flags(p, FLAG_MEM_ALLOCATED);\n\n    if (is_chunk_free(next_chunk(p))) {\n        //if next chunk is free, let's merge them.\n\n        size_t new_size = chunk_size(p) + chunk_size(next_chunk(p)) + HEADER_FULL_SIZE;\n        chunk_set_size(p, new_size);\n    }\n\n    if (next_chunk(p) >= p_heap_end) {\n        //we are on the last chunk on the heap, let's do some actual\n        //freeing of memory and move the brk back some.\n        p_heap_end = sys_brk(p);\n    }\n\n    if (p < p_first_free) {\n        p_first_free = p;\n    }\n}\n\n"
  },
  {
    "path": "linux_os/part10/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned long int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part10/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part10/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n\nvoid *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) {\n    return _syscall(SYS_mmap, addr, length, prot, flags, fd, offset);\n}\n\nint sys_munmap(void *addr, size_t length) {\n    return _syscall(SYS_munmap, addr, length, 0, 0, 0, 0);\n}\n\nint sys_stat(const char *pathname, struct stat *statbuf) {\n    return _syscall(SYS_stat, pathname, statbuf, 0, 0, 0, 0);\n}\n\nint sys_close(unsigned long fd) {\n    return _syscall(SYS_close, fd, 0, 0, 0, 0, 0);\n}\n\nint sys_ioctl(unsigned long fd, unsigned long cmd, void *arg) {\n    return _syscall(SYS_ioctl, fd, cmd, arg, 0, 0, 0);\n}\n\nint sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) {\n    return _syscall(SYS_waitid, (unsigned long)idtype, id, infop, options, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part10/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n\nvoid _exit(int code) {\n    return _syscall(SYS_exit, code, 0, 0, 0, 0, 0);\n}\n\nint errno_value = 0;\n\nint *__errno_location() {\n    return &errno_value;\n}\n"
  },
  {
    "path": "linux_os/part10/src/printargs/Makefile",
    "content": "\nTARGET=printargs\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part10/src/printargs/printargs.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\nint main(int argc, char **argv) {\n    printf(\"PrintArgs: %d\\n\", argc);\n\n    for (int i=1; i<argc; i++) {\n        printf(\"\\t%d = %s\\n\", i, argv[i]);\n    }\n\n    sleep_sec(2);\n\n    printf(\"done\\n\");\n\n    return 0;\n}"
  },
  {
    "path": "linux_os/part2/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part2/src/include/mylib.h",
    "content": "#pragma once\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n"
  },
  {
    "path": "linux_os/part2/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part2/src/init/crt0.S",
    "content": ".globl _start\n_start:\n    call main\n"
  },
  {
    "path": "linux_os/part2/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.1 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    char buff[255];\n    char *filename = \"/src/init.c\";\n\n    str_print(\"Opening file: \");\n    str_print(filename);\n    str_print(\"\\n\");\n\n    unsigned long fd = sys_open(filename, O_RDONLY);\n\n    sys_read(fd, buff, sizeof(buff));\n\n    str_print(buff);\n\n    for (int t=0; t<3; t++) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n        str_print(\"TICK!\\n\");\n    }\n\n    sys_reboot();\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part2/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part2/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part2/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n#include <time.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n"
  },
  {
    "path": "linux_os/part2/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\n"
  },
  {
    "path": "linux_os/part3/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part3/src/include/mylib.h",
    "content": "#pragma once\n#include <time.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n"
  },
  {
    "path": "linux_os/part3/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part3/src/init/crt0.S",
    "content": ".globl _start\n_start:\n    call main\n"
  },
  {
    "path": "linux_os/part3/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.2 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part3/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part3/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n\nunsigned long console_fd = 0;\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.1\\n\");\n    str_print(\" :> \");\n\n    console_open();\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        str_print(\"INPUT: \");\n        str_print(buff);\n        str_print(\"\\n\");\n\n        if (str_eq(buff, \"reboot\")) {\n            str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n            sys_reboot();\n        }\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part3/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part3/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part3/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n\n"
  },
  {
    "path": "linux_os/part3/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}"
  },
  {
    "path": "linux_os/part4/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part4/src/include/mylib.h",
    "content": "#pragma once\n#include <time.h>\n#include <stdbool.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n"
  },
  {
    "path": "linux_os/part4/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part4/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part4/src/init/crt0.S",
    "content": ".globl _start\n_start:\n    call main\n"
  },
  {
    "path": "linux_os/part4/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.2 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part4/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part4/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n\nunsigned long console_fd = 0;\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nunsigned long cur_brk = 0;\n\nvoid process_command(char *cmd) {\n    int end = str_pos(cmd, ' ');\n    char *arg = 0;\n\n    if (end != -1) {\n        cmd[end] = 0;\n        arg = cmd + end + 1;\n    }\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    }\n\n    if (str_eq(cmd, \"brk\")) {\n        int size = 0;\n\n        if (arg) {\n            //brk 4096\n            size = str_to_int(arg);\n        }\n\n        void *new_val = (void *)(cur_brk + size);\n        void *addr = sys_brk(new_val);\n\n        printf(\"BRK(%X) = %X\\n\", new_val, addr);\n\n        cur_brk = (unsigned long)sys_brk(0);\n    }\n\n    if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        end = str_pos(arg, ' ');\n        arg[end] = 0;\n\n        //second arg..\n        char *val = arg + end + 1;\n\n        unsigned long addr = hex_str_to_ulong(arg);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    }\n\n    if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(arg);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    }\n}\n\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.2\\n\");\n\n    cur_brk = (unsigned long)sys_brk(0);\n    printf(\"BRK: %X\\n\", cur_brk);\n\n    str_print(\" :> \");\n\n    console_open();\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        process_command(buff);\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part4/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part4/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part4/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part4/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part4/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n"
  },
  {
    "path": "linux_os/part5/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part5/src/include/mylib.h",
    "content": "#pragma once\n#include <time.h>\n#include <stdbool.h>\n#include <sys/select.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\n"
  },
  {
    "path": "linux_os/part5/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part5/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part5/src/init/crt0.S",
    "content": ".globl _start\n_start:\n    call main\n"
  },
  {
    "path": "linux_os/part5/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.2 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part5/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part5/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = mem_alloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nunsigned long cur_brk = 0;\n\nvoid process_command(char *cmd) {\n    int end = str_pos(cmd, ' ');\n    char *arg = 0;\n\n    if (end != -1) {\n        cmd[end] = 0;\n        arg = cmd + end + 1;\n    }\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    }\n\n    if (str_eq(cmd, \"brk\")) {\n        int size = 0;\n\n        if (arg) {\n            //brk 4096\n            size = str_to_int(arg);\n        }\n\n        void *new_val = (void *)(cur_brk + size);\n        void *addr = sys_brk(new_val);\n\n        printf(\"BRK(%X) = %X\\n\", new_val, addr);\n\n        cur_brk = (unsigned long)sys_brk(0);\n    }\n\n    if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        end = str_pos(arg, ' ');\n        arg[end] = 0;\n\n        //second arg..\n        char *val = arg + end + 1;\n\n        unsigned long addr = hex_str_to_ulong(arg);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    }\n\n    if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(arg);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    }\n\n    if (str_eq(cmd, \"events\")) {\n        handle_events();\n    }\n}\n\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    cur_brk = (unsigned long)sys_brk(0);\n    printf(\"BRK: %X\\n\", cur_brk);\n\n    console_open();\n    load_event_devices();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        process_command(buff);\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part5/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part5/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part5/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part5/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n"
  },
  {
    "path": "linux_os/part5/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid *mem_alloc(int size) {\n    unsigned long cur_brk = (unsigned long)sys_brk(0);\n    int num_pages = size / 4096;\n\n    size = (num_pages + 1) * 4096;\n\n    sys_brk((void *)(cur_brk + size));\n\n    return cur_brk;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n"
  },
  {
    "path": "linux_os/part6/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part6/src/include/mylib.h",
    "content": "#pragma once\n#include <time.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <sys/select.h>\n#include <sys/mman.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\nextern void *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);\nextern int sys_munmap(void *addr, size_t length);\nextern void *malloc(size_t size);\nextern void free(void *addr);\n"
  },
  {
    "path": "linux_os/part6/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part6/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part6/src/init/crt0.S",
    "content": ".globl _start\n_start:\n    call main\n"
  },
  {
    "path": "linux_os/part6/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.2 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part6/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part6/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = malloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nunsigned long cur_brk = 0;\n\nvoid process_command(char *cmd) {\n    int end = str_pos(cmd, ' ');\n    char *arg = 0;\n\n    if (end != -1) {\n        cmd[end] = 0;\n        arg = cmd + end + 1;\n    }\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    }\n\n    if (str_eq(cmd, \"alloc\")) {\n        int size = 0;\n\n        if (arg) {\n            //brk 4096\n            size = str_to_int(arg);\n        }\n\n        void *p = malloc(size);\n\n        printf(\"Returned pointer: %lX\\n\", p);\n\n        print_heap();\n    }\n\n    if (str_eq(cmd, \"free\")) {\n        //free ADDRESS\n        unsigned long addr = hex_str_to_ulong(arg);\n        free(addr);\n\n        print_heap();\n    }\n\n    if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        end = str_pos(arg, ' ');\n        arg[end] = 0;\n\n        //second arg..\n        char *val = arg + end + 1;\n\n        unsigned long addr = hex_str_to_ulong(arg);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    }\n\n    if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(arg);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    }\n\n    if (str_eq(cmd, \"events\")) {\n        handle_events();\n    }\n}\n\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    print_heap();\n\n    console_open();\n    load_event_devices();\n\n    print_heap();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        process_command(buff);\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part6/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part6/src/mylib/mem.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\n#define DEBUG_MEM 1\n#define FLAG_MEM_ALLOCATED 1\n#define FLAG_MEM_MAPPED 2\n\nstatic const int PAGE_SIZE = 4096;\nstatic const int RESIZE_THRESHOLD = 16;\nstatic const int MMAP_THRESHOLD = 128 * 1024;\nstatic const int HEADER_SIZE = 4;\nstatic const int HEADER_FULL_SIZE = HEADER_SIZE * 2;\n\nstatic uint32_t HEADER_SIZE_MASK = 0xFFFFFFF8;\nstatic uint32_t HEADER_FLAGS_MASK = 7; //0111\n\n/*\n    CHUNK_HEADER {\n        size: 29-bits - 8 bit aligned\n        flags: 3-bits\n    }\n\n    HEAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n        header: 4 bytes\n    }\n\n    MMAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n    }\n\n    Header Flags:\n        Bit 0 - 0 = free, 1 = allocated\n        Bit 1 - 0 = heap, 1 = mmap\n        Bit 2 - reserved.\n\n    Heap Layout:\n    |-H1-SIZE-FLAGS-| < heap start, first chunk header.\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H1-SIZE-FLAGS-| < first chunk header\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------| < heap end (current brk value)\n*/\n\nstatic uint8_t *p_heap_start = NULL;\nstatic uint8_t *p_first_free = NULL;\nstatic uint8_t *p_heap_end = NULL;\n\n#define P_AS_U32(p) ((uint32_t*)p)\n\nstatic inline uint32_t chunk_size(uint8_t *p) {\n    return *P_AS_U32(p) & HEADER_SIZE_MASK;\n}\n\nstatic inline bool is_chunk_alloc(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_ALLOCATED;\n}\n\nstatic inline bool is_chunk_free(uint8_t *p) {\n    return !is_chunk_alloc(p);\n}\n\nstatic inline bool is_chunk_mapped(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_MAPPED;\n}\n\nstatic inline uint8_t *next_chunk(uint8_t *p) {\n    return (p + chunk_size(p) + HEADER_FULL_SIZE);\n}\n\nstatic inline uint8_t *chunk_set_size(uint8_t *p, size_t size) {\n    *P_AS_U32(p) = size;\n    *P_AS_U32((p + size + HEADER_SIZE)) = size;\n    return p;\n}\n\nstatic inline uint8_t *chunk_set_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) |= flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) |= flags;\n    return p;\n}\n\nstatic inline uint8_t *chunk_unset_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) &= ~flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) &= ~flags;\n    return p;\n}\n\nstatic inline size_t align_8(size_t size) {\n    uint32_t flags = size & HEADER_FLAGS_MASK;\n    return flags ? size + 8 - flags : size;\n}\n\nstatic void init_heap() {\n    p_heap_start = sys_brk(NULL);\n    p_heap_end = p_heap_start + PAGE_SIZE;\n    sys_brk(p_heap_end);\n\n    //the first free entry is at the start of the heap...\n    p_first_free = p_heap_start;\n\n    //nothing allocated yet, so set size full...\n    chunk_set_size(p_first_free, PAGE_SIZE - HEADER_FULL_SIZE);\n\n    if (DEBUG_MEM) {\n        printf(\"MEM: Init Heap:\\n\");\n        printf(\"MEM: \\tStart: %lX\\n\", p_heap_start);\n        printf(\"MEM: \\tEnd  : %lX\\n\", p_heap_end);\n        printf(\"MEM: \\tFirst Size: %ld\\n\", chunk_size(p_first_free));\n        printf(\"MEM: \\tHeap  Size: %ld\\n\", p_heap_end - p_heap_start);\n        \n    }\n}\n\nvoid print_heap() {\n    if (!DEBUG_MEM) {\n        return;\n    }\n\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    printf(\"MEM: Heap Info %lX to %lX (%ld):\\n\", p_heap_start, p_heap_end, p_heap_end - p_heap_start);\n\n    uint8_t *p = p_heap_start;\n\n    while(p < p_heap_end) {\n        printf(\"\\tMEM: %lX Size: %d - %s\\n\", p, chunk_size(p), is_chunk_free(p) ? \"FREE\" : \"ALLOC\");\n        p = next_chunk(p);\n    }\n}\n\nstatic uint8_t *find_first_fit(size_t size) {\n    for (uint8_t *p = p_first_free; p < p_heap_end; p = next_chunk(p)) {\n        if (is_chunk_free(p) && chunk_size(p) >= size) {\n            return p;\n        }\n    }\n\n    return NULL; //need more memory.\n}\n\nstatic uint8_t *alloc_new_memory(size_t in_size) {\n    int num_pages = (in_size / PAGE_SIZE) + 1;\n\n    if (in_size % PAGE_SIZE < HEADER_FULL_SIZE) {\n        //there is enough space for buffer, but not buffer + headers.\n        num_pages++;\n    }\n\n    size_t size = num_pages * PAGE_SIZE;\n\n    char *prev_end = p_heap_end;\n    p_heap_end = sys_brk(p_heap_end + size);\n\n    return chunk_set_size(prev_end, size - HEADER_FULL_SIZE);\n}\n\nvoid *malloc(size_t in_size) {\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    if (in_size >= MMAP_THRESHOLD) {\n        //not going to use heap, actually use mmap instead...\n        uint8_t *p = sys_mmap(NULL, in_size + HEADER_SIZE_MASK, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        chunk_set_size(p, in_size);\n        chunk_set_flags(p, FLAG_MEM_MAPPED | FLAG_MEM_ALLOCATED);\n\n        //user's pointer starts just past the header.\n        return p + HEADER_SIZE;\n    }\n\n    //not mmap, use heap instead.\n\n    //8 bit align the size...\n    size_t size = align_8(in_size);\n\n    uint8_t *p = find_first_fit(size);\n\n    if (p == NULL) {\n        p = alloc_new_memory(size);\n    }\n\n    size_t csize = chunk_size(p);\n    size_t diff = csize - size;\n\n    if (diff > RESIZE_THRESHOLD) {\n        size_t next_size = diff - HEADER_FULL_SIZE;\n\n        chunk_set_size(p, size);\n        chunk_set_size(next_chunk(p), next_size);\n    }\n\n    chunk_set_flags(p, FLAG_MEM_ALLOCATED);\n\n    return p + HEADER_SIZE;\n}\n\nvoid free(void *up) {\n    uint8_t *p = ((uint8_t *)up) - HEADER_SIZE;\n\n    if (is_chunk_mapped(p)) {\n        //it was not on the heap, unmap it.\n        int ret = sys_munmap(p, chunk_size(p) + HEADER_SIZE);\n\n        if (DEBUG_MEM) {\n            printf(\"MEM: free mapped, returned %d\\n\", ret);\n        }\n\n        return;\n    }\n\n    chunk_unset_flags(p, FLAG_MEM_ALLOCATED);\n\n    if (is_chunk_free(next_chunk(p))) {\n        //if next chunk is free, let's merge them.\n\n        size_t new_size = chunk_size(p) + chunk_size(next_chunk(p)) + HEADER_FULL_SIZE;\n        chunk_set_size(p, new_size);\n    }\n\n    if (next_chunk(p) >= p_heap_end) {\n        //we are on the last chunk on the heap, let's do some actual\n        //freeing of memory and move the brk back some.\n        p_heap_end = sys_brk(p);\n    }\n\n    if (p < p_first_free) {\n        p_first_free = p;\n    }\n}\n\n"
  },
  {
    "path": "linux_os/part6/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned long int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part6/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part6/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n\nvoid *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) {\n    return _syscall(SYS_mmap, addr, length, prot, flags, fd, offset);\n}\n\nint sys_munmap(void *addr, size_t length) {\n    return _syscall(SYS_munmap, addr, length, 0, 0, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part6/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n"
  },
  {
    "path": "linux_os/part7/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part7/src/include/mylib.h",
    "content": "#pragma once\n\n#include <sys/wait.h>\n#include <time.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <sys/select.h>\n#include <sys/mman.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\nextern void *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);\nextern int sys_munmap(void *addr, size_t length);\nextern void *malloc(size_t size);\nextern void free(void *addr);\n\nextern int sys_stat(const char *pathname, struct stat *statbuf);\nextern int sys_close(unsigned long fd);\n"
  },
  {
    "path": "linux_os/part7/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part7/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part7/src/init/crt0.S",
    "content": ".globl _start\n\n_start: # _start is the entry point known to the linker\n    xor %ebp, %ebp            # effectively RBP := 0, mark the end of stack frames\n    mov (%rsp), %edi          # get argc from the stack (implicitly zero-extended to 64-bit)\n    lea 8(%rsp), %rsi         # take the address of argv from the stack\n    lea 16(%rsp,%rdi,8), %rdx # take the address of envp from the stack\n    xor %eax, %eax            # per ABI and compatibility with icc\n    call main                 # %edi, %rsi, %rdx are the three args (of which first two are C standard) to main\n\n    mov %eax, %edi    # transfer the return of main to the first argument of _exit\n    xor %eax, %eax    # per ABI and compatibility with icc\n    call _exit        # terminate the program\n"
  },
  {
    "path": "linux_os/part7/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n\nint main() {\n    char *msg = \"MyOS 0.0.0.2 Initializing...\\n\";\n\n    sleep_sec(1);\n\n    str_print(msg);\n\n    sleep_sec(1);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part7/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part7/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = malloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nchar **cmd_to_args(char *cmd) {\n    int num_spaces = 0;\n    int len = str_len(cmd);\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == ' ') {\n            cmd[i] = 0;\n            num_spaces++;\n        }\n    }\n\n    char **argv = malloc(sizeof(char *) * (num_spaces + 1));\n    int cur_item = 0;\n    argv[0] = cmd;\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == 0) {\n            argv[++cur_item] = cmd + i + 1;\n        }\n    }\n\n    argv[++cur_item] = 0;\n\n    return argv;\n}\n\nbool find_command(char *fullPath) {\n    struct stat statbuf;\n    char binPath[64];\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    sprintf(binPath, \"/bin/%s\", fullPath);\n    str_copy(fullPath, binPath);\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    return false;\n}\n\nbool process_command(char *cmd) {\n    char **argv = cmd_to_args(cmd);\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    } else if (str_eq(cmd, \"alloc\")) {\n        int size = 0;\n\n        if (argv[1]) {\n            //brk 4096\n            size = str_to_int(argv[1]);\n        }\n\n        void *p = malloc(size);\n\n        printf(\"Returned pointer: %lX\\n\", p);\n\n        print_heap();\n    } else if (str_eq(cmd, \"free\")) {\n        //free ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        free(addr);\n\n        print_heap();\n    } else if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        //second arg..\n        char *val = argv[2];\n\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    } else if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    } else if (str_eq(cmd, \"events\")) {\n        handle_events();\n    } else {\n        struct stat statbuf;\n        char fullPath[64];\n        str_copy(fullPath, cmd);\n\n        if (find_command(fullPath)) {\n            long pid = sys_fork();\n\n            if (pid == 0) {\n                char *envp[1];\n                envp[0] = 0;\n\n                int ret = sys_execve(fullPath, argv, envp);\n                printf(\"Ret: %d\\n\", ret);\n                \n                free(argv);\n                _exit(ret);\n                \n                return false;\n            }\n        }\n    }\n\n    free(argv);\n    return true;\n}\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    print_heap();\n\n    console_open();\n    load_event_devices();\n\n    print_heap();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        if (str_eq(\"\", buff)) {\n            str_print(\" :> \");\n            continue;\n        }\n\n        if (!process_command(buff)) {\n            return 0;\n        }\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part7/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part7/src/mylib/mem.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\n#define DEBUG_MEM 1\n#define FLAG_MEM_ALLOCATED 1\n#define FLAG_MEM_MAPPED 2\n\nstatic const int PAGE_SIZE = 4096;\nstatic const int RESIZE_THRESHOLD = 16;\nstatic const int MMAP_THRESHOLD = 128 * 1024;\nstatic const int HEADER_SIZE = 4;\nstatic const int HEADER_FULL_SIZE = HEADER_SIZE * 2;\n\nstatic uint32_t HEADER_SIZE_MASK = 0xFFFFFFF8;\nstatic uint32_t HEADER_FLAGS_MASK = 7; //0111\n\n/*\n    CHUNK_HEADER {\n        size: 29-bits - 8 bit aligned\n        flags: 3-bits\n    }\n\n    HEAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n        header: 4 bytes\n    }\n\n    MMAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n    }\n\n    Header Flags:\n        Bit 0 - 0 = free, 1 = allocated\n        Bit 1 - 0 = heap, 1 = mmap\n        Bit 2 - reserved.\n\n    Heap Layout:\n    |-H1-SIZE-FLAGS-| < heap start, first chunk header.\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H1-SIZE-FLAGS-| < first chunk header\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------| < heap end (current brk value)\n*/\n\nstatic uint8_t *p_heap_start = NULL;\nstatic uint8_t *p_first_free = NULL;\nstatic uint8_t *p_heap_end = NULL;\n\n#define P_AS_U32(p) ((uint32_t*)p)\n\nstatic inline uint32_t chunk_size(uint8_t *p) {\n    return *P_AS_U32(p) & HEADER_SIZE_MASK;\n}\n\nstatic inline bool is_chunk_alloc(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_ALLOCATED;\n}\n\nstatic inline bool is_chunk_free(uint8_t *p) {\n    return !is_chunk_alloc(p);\n}\n\nstatic inline bool is_chunk_mapped(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_MAPPED;\n}\n\nstatic inline uint8_t *next_chunk(uint8_t *p) {\n    return (p + chunk_size(p) + HEADER_FULL_SIZE);\n}\n\nstatic inline uint8_t *chunk_set_size(uint8_t *p, size_t size) {\n    *P_AS_U32(p) = size;\n    *P_AS_U32((p + size + HEADER_SIZE)) = size;\n    return p;\n}\n\nstatic inline uint8_t *chunk_set_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) |= flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) |= flags;\n    return p;\n}\n\nstatic inline uint8_t *chunk_unset_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) &= ~flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) &= ~flags;\n    return p;\n}\n\nstatic inline size_t align_8(size_t size) {\n    uint32_t flags = size & HEADER_FLAGS_MASK;\n    return flags ? size + 8 - flags : size;\n}\n\nstatic void init_heap() {\n    p_heap_start = sys_brk(NULL);\n    p_heap_end = p_heap_start + PAGE_SIZE;\n    sys_brk(p_heap_end);\n\n    //the first free entry is at the start of the heap...\n    p_first_free = p_heap_start;\n\n    //nothing allocated yet, so set size full...\n    chunk_set_size(p_first_free, PAGE_SIZE - HEADER_FULL_SIZE);\n\n    if (DEBUG_MEM) {\n        printf(\"MEM: Init Heap:\\n\");\n        printf(\"MEM: \\tStart: %lX\\n\", p_heap_start);\n        printf(\"MEM: \\tEnd  : %lX\\n\", p_heap_end);\n        printf(\"MEM: \\tFirst Size: %ld\\n\", chunk_size(p_first_free));\n        printf(\"MEM: \\tHeap  Size: %ld\\n\", p_heap_end - p_heap_start);\n        \n    }\n}\n\nvoid print_heap() {\n    if (!DEBUG_MEM) {\n        return;\n    }\n\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    printf(\"MEM: Heap Info %lX to %lX (%ld):\\n\", p_heap_start, p_heap_end, p_heap_end - p_heap_start);\n\n    uint8_t *p = p_heap_start;\n\n    while(p < p_heap_end) {\n        printf(\"\\tMEM: %lX Size: %d - %s\\n\", p, chunk_size(p), is_chunk_free(p) ? \"FREE\" : \"ALLOC\");\n        p = next_chunk(p);\n    }\n}\n\nstatic uint8_t *find_first_fit(size_t size) {\n    for (uint8_t *p = p_first_free; p < p_heap_end; p = next_chunk(p)) {\n        if (is_chunk_free(p) && chunk_size(p) >= size) {\n            return p;\n        }\n    }\n\n    return NULL; //need more memory.\n}\n\nstatic uint8_t *alloc_new_memory(size_t in_size) {\n    int num_pages = (in_size / PAGE_SIZE) + 1;\n\n    if (in_size % PAGE_SIZE < HEADER_FULL_SIZE) {\n        //there is enough space for buffer, but not buffer + headers.\n        num_pages++;\n    }\n\n    size_t size = num_pages * PAGE_SIZE;\n\n    char *prev_end = p_heap_end;\n    p_heap_end = sys_brk(p_heap_end + size);\n\n    return chunk_set_size(prev_end, size - HEADER_FULL_SIZE);\n}\n\nvoid *malloc(size_t in_size) {\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    if (in_size >= MMAP_THRESHOLD) {\n        //not going to use heap, actually use mmap instead...\n        uint8_t *p = sys_mmap(NULL, in_size + HEADER_SIZE_MASK, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        chunk_set_size(p, in_size);\n        chunk_set_flags(p, FLAG_MEM_MAPPED | FLAG_MEM_ALLOCATED);\n\n        //user's pointer starts just past the header.\n        return p + HEADER_SIZE;\n    }\n\n    //not mmap, use heap instead.\n\n    //8 bit align the size...\n    size_t size = align_8(in_size);\n\n    uint8_t *p = find_first_fit(size);\n\n    if (p == NULL) {\n        p = alloc_new_memory(size);\n    }\n\n    size_t csize = chunk_size(p);\n    size_t diff = csize - size;\n\n    if (diff > RESIZE_THRESHOLD) {\n        size_t next_size = diff - HEADER_FULL_SIZE;\n\n        chunk_set_size(p, size);\n        chunk_set_size(next_chunk(p), next_size);\n    }\n\n    chunk_set_flags(p, FLAG_MEM_ALLOCATED);\n\n    return p + HEADER_SIZE;\n}\n\nvoid free(void *up) {\n    uint8_t *p = ((uint8_t *)up) - HEADER_SIZE;\n\n    if (is_chunk_mapped(p)) {\n        //it was not on the heap, unmap it.\n        int ret = sys_munmap(p, chunk_size(p) + HEADER_SIZE);\n\n        if (DEBUG_MEM) {\n            printf(\"MEM: free mapped, returned %d\\n\", ret);\n        }\n\n        return;\n    }\n\n    chunk_unset_flags(p, FLAG_MEM_ALLOCATED);\n\n    if (is_chunk_free(next_chunk(p))) {\n        //if next chunk is free, let's merge them.\n\n        size_t new_size = chunk_size(p) + chunk_size(next_chunk(p)) + HEADER_FULL_SIZE;\n        chunk_set_size(p, new_size);\n    }\n\n    if (next_chunk(p) >= p_heap_end) {\n        //we are on the last chunk on the heap, let's do some actual\n        //freeing of memory and move the brk back some.\n        p_heap_end = sys_brk(p);\n    }\n\n    if (p < p_first_free) {\n        p_first_free = p;\n    }\n}\n\n"
  },
  {
    "path": "linux_os/part7/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned long int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part7/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part7/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n\nvoid *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) {\n    return _syscall(SYS_mmap, addr, length, prot, flags, fd, offset);\n}\n\nint sys_munmap(void *addr, size_t length) {\n    return _syscall(SYS_munmap, addr, length, 0, 0, 0, 0);\n}\n\nint sys_stat(const char *pathname, struct stat *statbuf) {\n    return _syscall(SYS_stat, pathname, statbuf, 0, 0, 0, 0);\n}\n\nint sys_close(unsigned long fd) {\n    return _syscall(SYS_close, fd, 0, 0, 0, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part7/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n\nvoid _exit(int code) {\n    return _syscall(SYS_exit, code, 0, 0, 0, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part7/src/printargs/Makefile",
    "content": "\nTARGET=printargs\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part7/src/printargs/printargs.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\nint main(int argc, char **argv) {\n    printf(\"PrintArgs: %d\\n\", argc);\n\n    for (int i=1; i<argc; i++) {\n        printf(\"\\t%d = %s\\n\", i, argv[i]);\n    }\n\n    sleep_sec(2);\n\n    printf(\"done\\n\");\n\n    return 0;\n}"
  },
  {
    "path": "linux_os/part8/myos.img",
    "content": "(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1A_>J}GQMVS[W_Za]d`fagbhcicibhag_f]dZaV_R[MVFP=J|1@[(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>X?J~HSOXT\\Za^d_fagbhcibhag`g_d\\cY`W^R[MVHQBM9En,>P(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4AaCNPXYaagciciciciciciciciciciciciciciciciciciciciciciciciagZ`OWBM1@[(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[FPT\\^dcicicicicicicicicicicicicicicicicicicicicicicici_fY`RYHR=Iz.?U(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<JALRY]dcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\\cPX>K*;H(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0@YJTZacicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici]dT\\IR:Hv+<F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciNV(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW^ciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FBMT\\agcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`gS[?J~*;F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=JyT\\bhciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciagW_KT=Hw+<F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicici_d*;F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@[bhciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4CeOW_gcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^eMV2@](:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=HwY`ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciagU]FP3Ba(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicici=J|(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BISciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;GsU]cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhR[8Em(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4CfV^cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciR[(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FpV^ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciS[5Ch(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;FISahcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Huciciciciciciciciciciciciciciciciciciciciciciciciciciag+<J(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9EnciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^T\\cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhQX0>V(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B3BaYacicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOXciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):DJSagcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`fFQ(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Iz_fcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciV^(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D_fciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7EjZaciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY_4Aa(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGPbhcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicibh/?V(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@JciciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BISbhciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciagEO(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciHQ(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\ciciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B->QU]ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciRY+<J(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`e(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciYa(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>SbhciciciciciciciciciciciciciciciciciciciciciciciciciCN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Dj]dcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\\a1A_(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici_d\u001d+1\"3:'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicici$(T\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicicicicicicicicicicicicicici;?\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u001d,2'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>I{`gcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici_e9Gr(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici_c\u0000\u0000\u0000\u0002\u0004\u0005\u0007\r\u0010\u0012\u001d\"\u001b)/\"29'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciEH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\t\u000b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BYacicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMbhcicicicicicicicicicicicicicicicicicicicicicicicicicicicici`fW]NSDI8<{,.c%(W  I\u0016\u0016:\b\b\u001b\r\r$\u0015\u001a9 #K'*Y,/e:=~FJPUY]agciciciciciciciciciciciciciciciciciciciciciciciciciciciciciag>J}(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6DjagciciciciciciciciciciciciciciciciciciciciciciciciafSYGK9=},/e  I\u0014\u00143\u0006\u0006 \n\n\u0015\u0014\u00185\u001b\u001fF+-_6:yAENRX^agcicicicicicicicicicicicicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0004\u0005\u0007\u000e\u0011\u0014 %\u001e,2%6=(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicici[`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Becicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPcicicicicicicicicicicicicicicicicicicicicicicicicicicibhV\\DI.0g\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u000b!15nHLX^cicicicicicicicicicicicicicicicicicicicicicicicicicicibhAL(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D[bcicicicicicicicicicicicicicicicicicicicicici`fMQ04l\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\n\u0015(+Z@CPU^ccicicicicicicicicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0014%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicicici,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFQciciciciciciciciciciciciciciciciciciciciciciciciciciZ`@E\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c DDI\\bcicicicicicicicicicicicicicicicicicicicicicicicicibhAL(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicicicici^dAF\u000e\u0014,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000&(UAFTYagcicicicicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciIO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D^dcicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNciciciciciciciciciciciciciciciciciciciciciciciciciPU.0g\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f45qSYcicicicicicicicicicicicicicicicicicicicicicicicibh@J(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7CibhcicicicicicicicicicicicicicicicicicicibhHL\u0012\u0012/\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0010%59uNR_ecicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^d\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@JbhciciciciciciciciciciciciciciciciciciciciciciciUZ+-_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000016mY^cicicicicicicicicicicicicicicicicicicicicicicibh;Gv(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BU]cicicicicicicicicicicicicicicicicicici\\b,.c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\n\u001513nKO_dcicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici37q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001f&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[cicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Enagcicicicicicicicicicicicicicicicicicicicicici\\b48s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f;>_ecicicicicicicicicicicicicicicicicicicicicici_f4Cd(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B8EociciciciciciciciciciciciciciciciciciciVZ\u0017\u00178\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\n\u001537qNS`fcicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciOT\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=Lagcicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[^eciciciciciciciciciciciciciciciciciciciciciciOS\u0010\u00150\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c DUYcicicicicicicicicicicicicicicicicicicicicici[b.<R(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV]ciciciciciciciciciciciciciciciciciciSY\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0010%:>}TZcici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Huciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciag\u0012\u0012/\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDOcicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FY`ciciciciciciciciciciciciciciciciciciciciciaf;?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\fBGbhciciciciciciciciciciciciciciciciciciciciciTY%7A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^ciciciciciciciciciciciciciciciciciciW]\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e!HCHUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0018%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_cicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOWcicicicicicicicicicicicicicicicicicicicici^d(+Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000016mafciciciciciciciciciciciciciciciciciciciciciEK#4;(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKScicicicicicicicicicicicicicicicici_e\u001d!J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciTY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^cicicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicicicicicicicicici\\b##N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000*-`_ecicicicicicicicicicicicicicicicicicicicibh/4j!18'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dcicicicicicicicicicicicicicicicici:?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hucicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibh\u001a\u001d@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>X_fciciciciciciciciciciciciciciciciciciciciZ_\u001d\u001dB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f\u000f\u0019\u001d\u0016\"'\u001b)/\u001f-4 06!18\"3:$4<$4<#3:\"18 07\u001f.5\u001c)0\u0017#(\u0011\u001b\u001f\b\u000f\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000&&T]ccicicicicicicicicicicicicicicicicicicici\\a\u0013\u0015.\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5ChciciciciciciciciciciciciciciciciciY]\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0016\u0014 %\u001b(.\u001e-4!18#3:$4<$5<#3;\"29 /6\u001c*1\u0018%+\u0013\u001d\"\t\u0010\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciAF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\ccicicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BU]cicicicicicicicicicicicicicicicicicicici]b\u001a\u001d@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011\u0015 %\u001e,2#4;%6>&7>&8?'8@'9A'9A(9A(:B(:B(:B(:B(9A'9A'9A'8@&8?&7?%6>$5<\u001e-4\u0016\"(\t\u0011\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000&(U`fciciciciciciciciciciciciciciciciciciciciKO\u0002\u0004\u0006\u001e-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicicicicici:=~\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0019\u001e\u001c+1#4;%6>&7?'8@'9A(9A(:B(:B(:B(:B(:A'9A'9@&8@&7?%6>$5= 07\u001a'-\u0011\u001b \u0003\u0005\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBKcicicicicicicicicicicicicicicicicicicici`f&,\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0007\b\u0016#(!18%6=&7?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&8?%6>\"3:\u0018%+\u0006\u000b\u000e\u0000\u0000\u0000\u0000\u0000\u000004lbhcicicicicicicicicicicicicicicicicicicici.1f\u0001\u0002\u0003\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicici`f\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016!'\"29&7>'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A'8@&7?%6=!18\u0019',\u000e\u0017\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciX^cicicicicicicicicicicicicicicicicici&(U\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQYciciciciciciciciciciciciciag_ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=L^ecicicicicicicicicicicicicicicicicicicibh45q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a\u001d+1$5<&8?(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8@%6>\u001e-4\u000f\u0019\u001d\u0000\u0000\u0000;@ciciciciciciciciciciciciciciciciciciciciY_\n\n\u0015\u0002\u0003\u0004\u001f.4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B^dciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d!\"29&7?(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A'8@&7>$5<\u001e,2\u0013\u001e#\u0002\u0003\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNRZ_ciciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0005\u0007%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H`fciciciciciciciciciciciciciOT^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLWciciciciciciciciciciciciciciciciciciciciAF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0013\u001d,2%6='9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7>\u001f.4\u000b\u0014\u0018JNcicicicicicicicicicicicicicicicicicicici@E\u0000\u0000\u0000\u0003\u0005\u0007 06'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<LciciciciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004\u001d+1%6>(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7?$5=\u001f.4\u0015 %\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNRDGcicicicicicicicicicicicicicicicici\\b\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicici24m^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^ahciciciciciciciciciciciciciciciciciciciV[\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u001a(.$5<'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6>!-<[acicicicicicicicicicicicicicicicicicici_e\u0014\u00185\u0000\u0000\u0000\u0006\u000b\u000e\"3:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Dkcicicicicicicicicicicicicicicicici46s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011!07'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7?%5=\u001e-3\u0013\u001d\"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u001d!Jcicicicicicicicicicicicicicicicicici/2j\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^cicicicicicicicicicicicici]c\u0000\u0000\f^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BRZciciciciciciciciciciciciciciciciciciciaf!$P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a!18&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@7BnbhciciciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALcicicicicicicicicicicicicicicicici,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0015\"29'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7?$5<\u001c+1\u000e\u0018\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000V[ciciciciciciciciciciciciciciciciciKQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>XbhciciciciciciciciciciciciciGM\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Chcicicicicicicicicicicicicicicicicicicici>A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018$*$5=(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLScicicicicicicicicicicicicicicicicicicibg\u001a\u001aB\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOcicicicicicicicicicicicicicicicici%(W\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f\"29'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@&7>\"2:\u0019%+\u000e\u0017\u001b%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000=Bcicicicicicicicicicicicicicicicici`e\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicici#&R\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[ciciciciciciciciciciciciciciciciciciciX]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H^dciciciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicicicicici),^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:A&8@%7>(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0014\u00185bhcicicicicicicicicicicicicicicicici69x\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0018\u001c&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZaciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B3Babhcicicicicicicicicicicicicicicicicicici.3j\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u001f-4'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicicicicici`f\u0017\u00178\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicici24o\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000QVciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7Cicicicicicicicicicicicicicici@C\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOWciciciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0007\t /6'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZaciciciciciciciciciciciciciciciciciciciCH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0014$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMTcicicicicicicicicicicicicicicicici=B\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\f$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u000069xcicicicicicicicicicicicicicicicicibh\u0014\u00185\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWcicicicicicicicicicicicicibh\u0014\u00196\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<J`gcicicicicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Jycicicicicicicicicicicicicicicicicicici]b\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\"'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BITciciciciciciciciciciciciciciciciciLR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0006 `ecicicicicicicicicicicicicicicicici=B\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0015%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;F_dciciciciciciciciciciciciciQW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPciciciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,2'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`cicicicicicicicicicicicicicicicicicici6:w\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicicicicici]c\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000LPciciciciciciciciciciciciciciciciciVZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>J}cicicicicicicicicicicicicici48t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZbcicicicicicicicicicicicicicicicicicici03k\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNciciciciciciciciciciciciciciciciciciciSY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDNcicicicicicicicicicicicicicicicicici.0g\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0019%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000/3icicicicicicicicicicicicicicicicicici  I\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BS[cicicicicicicicicicicicici^d\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:BGPciciciciciciciciciciciciciciciciciciBM(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOYciciciciciciciciciciciciciciciZa(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6BeciciciciciciciciciciciciciciciciciciciZ_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015 %%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<F_dcicicicicicicicicicicicicicicicicicibh\u001b\u001b@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f]bciciciciciciciciciciciciciciciciciCH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\r%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.=QagciciciciciciciciciciciciciJP\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B->QahciciciciciciciciciciciciciciciciciV^(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=LagciciciciciciciciciciciciciciciFP(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicicici>A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicici@E\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0006\b$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[cicicicicicicicicicicicicicicicicicibh')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000GKciciciciciciciciciciciciciciciciciZ`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEPcicicicicicicicicicicicicici'-^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:BS[cicicicicicicicicicicicicicicicicibh1@[(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPciciciciciciciciciciciciciciciag,<N(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciciciciaf\u000e\u0014,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0@YbhciciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B_gciciciciciciciciciciciciciciciciciciU[\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000%(Wcicicicicicicicicicicicicicicicicici),^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`ciciciciciciciciciciciciciY_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B<IyciciciciciciciciciciciciciciciciciciJT(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZaciciciciciciciciciciciciciciciPY(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6DiciciciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#)&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX^cicicicicicicicicicicicicicicicicicici\u001a\u001aB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciciciciciciciAF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 06'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000Y^ciciciciciciciciciciciciciciciciciIM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4AaciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B]dcicicicicicicicicicicicicicicicici\\d(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Grcicicicicicicicicicicicicicicici9En(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BITcicicicicicicicicicicicicicicicicicici9=}\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u000b\u000e$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHQcicicicicicicicicicicicicicicicicicici=A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#)&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicicibh16m\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000BEcicicicicicicicicicicicicicicicici^d\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicibh\u0019\u001d>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:BITcicicicicicicicicicicicicicicicicici;Gv(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BRZciciciciciciciciciciciciciciciZa(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY_cicicicicicicicicicicicicicicicicicibh\u0011\u00112\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1?]ciciciciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B8Emcicicicicicicicicicicicicicicicicicicici`f,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c Dcicicicicicicicicicicicicicicicicici24o\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B2@[bhciciciciciciciciciciciciciciciciciRZ(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B->QagciciciciciciciciciciciciciciciEP(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<NbhciciciciciciciciciciciciciciciciciciRX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0013\u0016$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`cicicicicicicicicicicicicicicicicici`f\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B^dcicicicicicicicicicicicicicicicicicicici`f.1f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000UYciciciciciciciciciciciciciciciciciOS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;Gvcicicicicicicicicicicicicici8<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciciciciciag,<N(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRciciciciciciciciciciciciciciciag,<N(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicicicicicicici>A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicici,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\r%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicicicicicibg69x\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000;@cicicicicicicicicicicicicicicicici`f\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQZcicicicicicicicicicicicici_e\u0007\u0007 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B@LciciciciciciciciciciciciciciciciciciDP(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciPY(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWcicicicicicicicicicicicicicicicicicici%(W\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0018%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<IyciciciciciciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1A_ciciciciciciciciciciciciciciciciciciciciciciciDI\u0000\u0000\f\u0004\b\n%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u00112bgcicicicicicicicicicicicicicicicici:>}\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<L`gciciciciciciciciciciciciciLQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B):D`eciciciciciciciciciciciciciciciciciZ`(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Iycicicicicicicicicicicicicicicici7Fo(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZ`cicicicicicicicicicicicicicicicicici_e\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*1'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<LbhciciciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0019\u001e&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BS[ciciciciciciciciciciciciciciciciciciciciciciciSY\u0019\u0019;\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000PUciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNcicicicicicicicicicicicicici-/e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicicicicicici&'S\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\ciciciciciciciciciciciciciciciW_\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0005\t\f\u0010\u001a\u001e&7>):DagciciciciciciciciciciciciciciciciciciRX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0007\t$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`cicicicicicicicicicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Djcicicicicicicicicicicicicicicicicicicicicicicici^c7<t&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000059vcicicicicicicicicicicicicicicicicibh\u0018\u001c=\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW^ciciciciciciciciciciciciciZb\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4CeciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001e&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0?Xbhcicicicicicicicicicicicicicici;?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@7FociciciciciciciciciciciciciciciciciciciCG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWcicicicicicicicicicicicicicicicicicici\u001e!H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[ciciciciciciciciciciciciciciciciciciciciciciciciciNU+;J(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\b\u001b_ecicicicicicicicicicicicicicicicici?C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0013%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@[bhciciciciciciciciciciciciciEJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_cicicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BITcicicicicicicicicicicicicicici`f\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:BEOcicicicicicicicicicicicicicicicicicici.3j\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"2:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicicicicici48s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0?X`fcicicicicicicicicicicicicicicicicicicicicicicicici]c=Iz(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000KOciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIScicicicicicicicicicicicicici\u001f\"I\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDOcicicicicicicicicicicicicicicicicici45q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D]dciciciciciciciciciciciciciciciKO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b\u001f&7>(:BNWcicicicicicicicicicicicicicicicicicici\u001b\u001b@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7CiciciciciciciciciciciciciciciciciciciciCG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDPciciciciciciciciciciciciciciciciciciciciciciciciciciciQY.>S(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000,/ecicicicicicicicicicicicicicicicicici\"%P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\"'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<L`gciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>Kcicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-4'9A(:BV^cicicicicicicicicicicicicicicicicici`e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FbhciciciciciciciciciciciciciciciciciciOS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicicicicicicicicicicicici_fDN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000]cciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0007\t%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Encicicicicicicicicicicicicici=@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQYcicicicicicicicicicicicicicicicicibh\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV]ciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f$5=(:B(:B]dciciciciciciciciciciciciciciciciciciW\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"2:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001e&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.=Q]dciciciciciciciciciciciciciciciciciciciciciciciciciciciciY`7Fo(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000HOcicicicicicicicicicicicicicicicici\\a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOXciciciciciciciciciciciciciag\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Encicicicicicicicicicicicicicicicicici?C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1A_bhcicicicicicicicicicicicicicici:?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B*;FbhciciciciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV]cicicicicicicicicicicicicicicicicici_e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Be`fciciciciciciciciciciciciciciciciciciciciciciciciciciciciciPY/>X(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000+2\\cicicicicicicicicicicicicicicicicici-0c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D_fciciciciciciciciciciciciciNT\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciY^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicicici`e\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:B(:B4AaciciciciciciciciciciciciciciciciciciciCG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWcicicicicicicicicicicicicicicicicicici\u0012\u0012/\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Hvahcicicicicicicicicicicicicicicicicicicicicicicicicicicicici`gHS*;H(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!YaciciciciciciciciciciciciciciciciciJO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicici24n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicicicicicici*,]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D`eciciciciciciciciciciciciciciciIO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7>(:B(:B<Izcicicicicicicicicicicicicicicicicicici9=\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHRcicicicicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>I}ahcicicicicicicicicicicicicicicicicicicicicicicicicicicicicici]dBM(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!IPcicicicicicicicicicicicicicicicici_e\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c+1'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicici]c\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B->QahciciciciciciciciciciciciciciciciciKO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicici'*Y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-4'9A(:B(:BDOcicicicicicicicicicicicicicicicicicici15n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicicicicici24o\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001e&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>I{ahciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY`9Fq(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!0=Ybhcicicicicicicicicicicicicicicicici67u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0019\u001e&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>SbhciciciciciciciciciciciciciGM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT[cicicicicicicicicicicicicicicicici_e\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_ciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f$5=(:B(:B(:BHScicicicicicicicicicicicicicicicicicici(+Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0005\u0006%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Hu`fciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciS[2A^(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?W_ciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicici#&R\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Izcicicicicicicicicicicicicicicicicici8<{\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4Cfcicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:BNWcicicicicicicicicicicicicicicicicicici\u001a\u001aB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\"'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7CiciciciciciciciciciciciciciciciciciciciBE\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Ch^dciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciahMV,<N(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?DNcicicicicicicicicicicicicicicicicibg\u0011\u00112\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BYaciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciSY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\t\u000b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOWcicicicicicicicicicicicicicici`e\u000b\u000b!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:BRZcicicicicicicicicicicicicicicicicicici\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>XciciciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0@YY`cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`eDN(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?,>Pagcicicicicicicicicicicicicicicicici;@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Becicicicicicicicicicicicicici>D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000^ccicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicicicicicici\u001e!H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;J`fciciciciciciciciciciciciciciciJN\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7>(:B(:B(:B(:BU]cicicicicicicicicicicicicicicicicici_e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BciciciciciciciciciciciciciciciciciciciKO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FNTciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciYa9Gr(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:BT\\ciciciciciciciciciciciciciciciciciUY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicibh\u0015\u00154\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000_dcicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1?]bhciciciciciciciciciciciciciciciciciEI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDOcicicicicicicicicicicicicicicici%(W\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f-4'9A(:B(:B(:B(:BW_cicicicicicicicicicicicicicicicicici]b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BagciciciciciciciciciciciciciciciciciciOS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001c &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@?E`fciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciRY/?V(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B?Kcicicicicicicicicicicicicicicicicici\u001c D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018$*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D^dciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000_dcicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV]cicicicicicicicicicicicicicicicici\\a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`ciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010$5=(:B(:B(:B(:B(:BYacicicicicicicicicicicicicicicicicici[a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`gciciciciciciciciciciciciciciciciciciRV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B%6>'.VX^cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`fDP(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B):D_gciciciciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicici48t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBKcicicicicicicicicicicicicicicicicici/3i\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B8Emcicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019%+&8@(:B(:B(:B(:B(:B\\aciciciciciciciciciciciciciciciciciciZ^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001e&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B_fciciciciciciciciciciciciciciciciciciTY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3:\r\u0012(HMciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciW_5Ch(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:BPXciciciciciciciciciciciciciciciciciY_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[cicicicicicicicicicicicici^d\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0019\u001d_ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D`eciciciciciciciciciciciciciciciciciNS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0015%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BPYcicicicicicicicicicicicicicici_e\u000b\u000b!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B]bciciciciciciciciciciciciciciciciciciX^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B^eciciciciciciciciciciciciciciciciciciTZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A!07\u0004\u0007\t/2j\\acicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhIS*;F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B;Gscicicicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=LagciciciciciciciciciciciciciJO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c+1`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNVciciciciciciciciciciciciciciciciciag\u0011\u00112\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<NagciciciciciciciciciciciciciciciJN\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7>(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\u001f/5\u0003\u0006\b\u000e\u0014,JOciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY`5Cf(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B]dciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0004\u0006$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDNcicicicicicicicicicicicicici'-^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$4<`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4Cfcicicicicicicicicicicicicicicicicici<A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPcicicicicicicicicicicicicicicici&(U\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.4'9A(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciciUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]bciciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A /6\u0003\u0006\b\u0000\u0000\u0000.0gZ`ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciahFQ(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:BMTcicicicicicicicicicicicicicicicici]c\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_ciciciciciciciciciciciciciY_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX`ciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0004\u0005$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciVZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%5=(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\dciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A 07\u0005\u000b\u000e\u0000\u0000\u0000\b\b\u001bEIagciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciU].>S(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B4Cfcicicicicicicicicicicicicicicicicici03k\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^ciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDOcicicicicicicicicicicicicicicicicici$'U\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;Gscicicicicicicicicicicicicicicici9=\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&+&8@(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciciciciW\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B^dciciciciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\"29\n\u0011\u0015\u0000\u0000\u0000\u0000\u0000\u0000##NRXcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^e:Fr(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:BZbciciciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicich\u0019\u001d>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6=(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<J`gciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0019\u001d&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[cicicicicicicicicicicicicicici_e\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B\\bciciciciciciciciciciciciciciciciciciY^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B_eciciciciciciciciciciciciciciciciciciUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A$4;\u0010\u0019\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000037q[acicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhDP(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:BHRcicicicicicicicicicicicicicicicici`f\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BPYcicicicicicicicicicicicicicicicici^d\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"2:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?UahciciciciciciciciciciciciciciciIM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001c &7?(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciciZ`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`fciciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B%6>\u0017#(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\b\u001bBG`fciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciPX):D(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B/?Vbhcicicicicicicicicicicicicicicicici8<y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0017\u001b&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicici9=|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Fpcicicicicicicicicicicicicicicicicici67u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIScicicicicicicicicicicicicicicici&&T\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.4'9A(:B(:B(:B(:B(:B(:B(:B(:BY`cicicicicicicicicicicicicicicicicici\\a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BagciciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b\u001f&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8?\u001d+2\u0003\u0005\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a\u001aBMSciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciV]+=L(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciciciciciRV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQYcicicicicicicicicicicicici_e\u0007\u0007 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%6>(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011%5=(:B(:B(:B(:B(:B(:B(:B(:B(:BW^cicicicicicicicicicicicicicicicicici]b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0007\b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BbhciciciciciciciciciciciciciciciciciciMS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0017\u001c&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@\"29\r\u0016\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000).`V\\ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciYa/>X(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:BDNcicicicicicicicicicicicicicicicicibh\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H`fciciciciciciciciciciciciciLQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHQcicicicicicicicicicicicicicicicicibh\u0018\u001c=\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicicicici:=~\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicicici`f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\r%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=LciciciciciciciciciciciciciciciciciciciJN\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0018%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A%6>\u0017$)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00009=}]bcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici[b/>X(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B+=Lagcicicicicicicicicicicicicicicicici=B\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0015%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicici-/e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>SchciciciciciciciciciciciciciciciciciAF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicici_e\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQZcicicicicicicicicicicicicicicicicicici\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B3BcciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8? /6\b\u0010\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0010%EIagcicicicicicicicicicicicicicicicicicicicicicicicicicicicicici[b0>V(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:BSZciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciZb\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BS[ciciciciciciciciciciciciciciciciciZ_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@[bhciciciciciciciciciciciciciciciHN\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLWcicicicicicicicicicicicicicicicicicici #K\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;Gucicicicicicicicicicicicicicicicicicici@C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0011\u0015%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A$5=\u0016\"'\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e!HPUciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciZa+<J(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B>K|cicicicicicicicicicicicicicicicicici!$N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>XbhciciciciciciciciciciciciciFI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f-4'9A(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Jycicicicicicicicicicicicicicicicicici,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicici$'U\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicicicicicicici,/b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0016%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALcicicicicicicicicicicicicicicicicicici8<y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8? /6\n\u0013\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000,/eX^ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciU](:D(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B*;F_eciciciciciciciciciciciciciciciciciDI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\t\f%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicici\u001f\"J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\t\f$5=(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciLP\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0019%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;F^dciciciciciciciciciciciciciciciU[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNcicicicicicicicicicicicicicicicicicici67u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0016%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFQcicicicicicicicicicicicicicicicicicici/3i\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6>\u0019&,\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f<?_eciciciciciciciciciciciciciciciciciciciciciciciciciciciciLT(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:BNXciciciciciciciciciciciciciciciciciZa\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:BZaciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016#(&8?(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicici`f\u000b\u000b!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B?Kcicicicicicicicicicicicicicicici:>}\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;Gvcicicicicicicicicicicicicicicicicicici<?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKScicicicicicicicicicicicicicicicicicici##N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0015%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@\"29\u0011\u001b \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0016:MQcicicicicicicicicicicicicicicicicicicicicicicicicicicibh8Bq'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B:Fpcicicicicicicicicicicicicicicicicici*-`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B7Cicicicicicicicicicicicicicici=@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[bhcicicicicicicicicicicicicicicicici:=~\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^cicicicicicicicicicicicicicici_e\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[ciciciciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BRYcicicicicicicicicicicicicicicicicicici\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A&7?\u001e-4\t\u0010\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000.3j\\acicicicicicicicicicicicicicicicicicicicicicicicicici]c!0?'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciciciJN\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002$5<(:B(:B(:B(:B(:B(:B(:B(:BMWciciciciciciciciciciciciciag\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV]ciciciciciciciciciciciciciciciciciUY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0007\t%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2BbciciciciciciciciciciciciciciciciHM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BchciciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\f%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY_cicicicicicicicicicicicicicicicicici]c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0019%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6=\u001a'-\u0002\u0003\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u000f)IOciciciciciciciciciciciciciciciciciciciciciciciciciciGM\u0017$)&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:BKScicicicicicicicicicicicicicicicici^e\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B*;F_dciciciciciciciciciciciciciNS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALcicicicicicicicicicicicicicicicicici #K\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicicicici$'S\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\cciciciciciciciciciciciciciciciciciciZ`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0006\b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B_gciciciciciciciciciciciciciciciciciciVZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0018\u001c&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@#3;\u0014 %\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000045q^dcicicicicicicicicicicicicicicicicicicicicicicicibh\"%P\u0013\u001e#%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B4Aacicicicicicicicicicicicicicicicicici37p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001f&7?(:B(:B(:B(:B(:B(:B>J}cicicicicicicicicicicicicici04l\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D_eciciciciciciciciciciciciciciciciciDI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<F_fciciciciciciciciciciciciciciciUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicicicibh\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>SciciciciciciciciciciciciciciciciciciciLQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&7? 07\u000e\u0017\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b\u001b@UZciciciciciciciciciciciciciciciciciciciciciciciciMQ\u0000\u0000\u0000\u000f\u0019\u001d$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:BY_ciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:BS[cicicicicicicicicicicicici]c\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b\u001f&7>(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNWcicicicicicicicicicicicicicicicici\\b\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicicici##N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Hvcicicicicicicicicicicicicicicicicicici?C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7>\u001d+2\u0007\r\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0003\u000eIMcicicicicicicicicicicicicicicicicicicicicicicibh\u001e!H\u0000\u0000\u0000\r\u0016\u001a$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:BFQciciciciciciciciciciciciciciciciciag\u000e\u0014,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B.=QagciciciciciciciciciciciciciGM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,3'9A(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Becicicicicicicicicicicicicicicicicici16m\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX^cicicicicicicicicicicicicicici_d\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNcicicicicicicicicicicicicicicicicicici6:w\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPcicicicicicicicicicicicicicicicicicici04l\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@$5=\u0019%+\u0001\u0002\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000=BbhciciciciciciciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B.?Ubhcicicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0019%7>(:B(:B(:B(:BEPcicicicicicicicicicicicicici#&R\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0005\u0007$5<(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`ciciciciciciciciciciciciciciciciciOT\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5ChciciciciciciciciciciciciciciciciIM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4CfciciciciciciciciciciciciciciciciciciciIM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BRZcicicicicicicicicicicicicicicicicicici\u0015\u001a9\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8@\"3:\u0013\u001f$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00008<ybhcicicicicicicicicicicicicicicicicicicicici^c\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0018\u001c%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciciciciciSY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:BY`ciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDNcicicicicicicicicicicicicicicicicibg\u0014\u00143\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:BOXcicicicicicicicicicicicicicicici\"%R\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`fciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\ccicicicicicicicicicicicicicicicicici\\a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:A&7? /6\f\u0015\u0019\u0000\u0000\u0000\u0000\u0000\u00006:ycicicicicicicicicicicicicicicicicicicicicici26p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCMcicicicicicicicicicicicicicicicicibh\u001a\u001aB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B4Aacicicicicicicicicicicicicici>D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<Jagcicicicicicicicicicicicicicicicici=B\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015 %&7?(:B(:B(:B(:B(:B(:B(:B(:B+<J`fciciciciciciciciciciciciciciciTZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_cicicicicicicicicicicicicicicicicicibh\r\r$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0>VciciciciciciciciciciciciciciciciciciciOT\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6>\u001c*0\u0004\b\n\u0000\u0000\u0000ACciciciciciciciciciciciciciciciciciciciciciKO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<L`gcicicicicicicicicicicicicicicicici@E\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011%6>(:B(:BLUcicicicicicicicicicicicicibh\u0015\u00154\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6=(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BPYciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003$5<(:B(:B(:B(:B(:B(:B(:B(:BDPcicicicicicicicicicicicicicicici8;|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicicici.0g\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicicicicicicici?D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@$4;\u0015!&\u0000\u0000\u0000PUcicicicicicicicicicicicicicicicicicicici[a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BRYciciciciciciciciciciciciciciciciciX^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 06'9A(:B]dciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Fpcicicicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c+1'9@(:B(:B(:B(:B(:B(:B(:BZbcicicicicicicicicicicicicicici_d\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=HwciciciciciciciciciciciciciciciciciciciEI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\"'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNWcicicicicicicicicicicicicicicicicicici&,\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&7?\u001f.5\u0019!<^ecicicicicicicicicicicicicicicicicicicici\u001c D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0013$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicicicicicici&&T\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!'&8?;Gvcicicicicicicicicicicicicici49t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\aciciciciciciciciciciciciciciciciciIM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0017\u001c&7>(:B(:B(:B(:B(:B(:B9EnciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FagciciciciciciciciciciciciciciciciciciW]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0019\u001e&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\\ccicicicicicicicicicicicicicicicicici^d\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A$5=@Hcicicicicicicicicicicicicicicicicicicici67u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D^eciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0006\b%6=QZcicicicicicicicicicicicici^d\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0019\u001d%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHRcicicicicicicicicicicicicicicicici_d\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:BRYcicicicicicicicicicicicicicicici\"%P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^cicicicicicicicicicicicicicicicicicici\u001e!H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5ChciciciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8B]cciciciciciciciciciciciciciciciciciciciEH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWcicicicicicicicicicicicicicicicici\\b\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#0AagciciciciciciciciciciciciciJO\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+1'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>Schcicicicicicicicicicicicicicicicici69x\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B.=QagciciciciciciciciciciciciciciciUY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0013%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicicicicicicici?C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicicicicicicici;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIQciciciciciciciciciciciciciciciciciciciNS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B8Emcicicicicicicicicicicicicicicicicici.0g\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000<Bcicicicicicicicicicicicicici'-^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BS[ciciciciciciciciciciciciciciciciciRX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u000b\u000e%6>(:B(:B(:B(:BGQcicicicicicicicicicicicicicicici8<{\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019','8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1@[ciciciciciciciciciciciciciciciciciciciTZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZacicicicicicicicicicicicicicicicicicibh\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0>VbhciciciciciciciciciciciciciciciciciciUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciLP\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000TYciciciciciciciciciciciciciZ_\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Izcicicicicicicicicicicicicicicicicibh\u001d\u001dB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.4'9A(:B(:B(:B[bcicicicicicicicicicicicicicici^d\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZbcicicicicicicicicicicicicicicicicicibh\u001b\u001fF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4AaciciciciciciciciciciciciciciciciciciciV[\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY`cicicicicicicicicicicicicicicicicici[a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BJTcicicicicicicicicicicicicicicicici_e\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b\u001b@bhciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciBG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B<HuciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHRciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016!'&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNVcicicicicicicicicicicicicicicicicicici?D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicici^d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\b\u000b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^cicicicicicicicicicicicicicicicicici6:v\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000AFcicicicicicicicicicicicicich\u0019\u001d?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKSciciciciciciciciciciciciciciciciciZa\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:BT[cicicicicicicicicicicicicicicici##N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@[bhcicicicicicicicicicicicicicicicicici^d\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;J_fcicicicicicicicicicicicicicicicicicibh\u0015\u001a9\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0003\u0004%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B?Kcicicicicicicicicicicicicicicicicici`f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX^ciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000Y^ciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@]bhcicicicicicicicicicicicicicicicici.1f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@/>XbhciciciciciciciciciciciciciciciUZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW_cicicicicicicicicicicicicicicicicicici8;|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOciciciciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0018\u001c&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4Cfcicicicicicicicicicicicicicicicicicibh\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015 &&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPciciciciciciciciciciciciciciciciciag\u0014\u00143\u0000\u0000\u0000(+Zcicicicicicicicicicicicicici9=|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^ciciciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>IScicicicicicicicicicicicicicicici8<y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALciciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZacicicicicicicicicicicicicicicicicicici59v\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;Jcicicicicicicicicicicicicicicicicici`f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B->Qchcicicicicicicicicicicicicicicicici<A\u0000\u0000\u0000IMcicicicicicicicicicicicici_e\u0007\u0007 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALcicicicicicicicicicicicicicicicici`f\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18]dcicicicicicicicicicicicicicici^e\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;F^ecicicicicicicicicicicicicicicicicicici26p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>J}cicicicicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:Bbhcicicicicicicicicicicicicicicicici^c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BU]ciciciciciciciciciciciciciciciciciU[\u0003\u0003\u000e^dciciciciciciciciciciciciciLQ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D_fcicicicicicicicicicicicicicicicici;?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00007>vciciciciciciciciciciciciciciciciFM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKSciciciciciciciciciciciciciciciciciciciY]\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0013\u0016%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D\\aciciciciciciciciciciciciciciciciciciciCG\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`gcicicicicicicicicicicicicicicicici[`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d,2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BALcicicicicicicicicicicicicicicicicici>Acicicicicicicicicicicicicici-/f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMWciciciciciciciciciciciciciciciciciVZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000QVcicicicicicicicicicicicicicicici!$P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?Uagcicicicicicicicicicicicicicicicicicici8;|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNciciciciciciciciciciciciciciciciciciciaf\u0017\u00178\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0017\u001b%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BbhciciciciciciciciciciciciciciciciciX^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H`fciciciciciciciciciciciciciciciciciagciciciciciciciciciciciciciZb\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Cfcicicicicicicicicicicicicicicicicici\"%P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a\u001d@bhciciciciciciciciciciciciciciciTZ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNVcicicicicicicicicicicicicicicicicicici[a\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H]dciciciciciciciciciciciciciciciciciciciHM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):DciciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001c &7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQYciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciFI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZ`ciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000DIcicicicicicicicicicicicicicicici6:y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1?]ahciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0017\u001b&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMTciciciciciciciciciciciciciciciciciciciag\u001d\u001dB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B3BcciciciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Hwcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\u001f\"J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\t\f$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOcicicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0005\u0005\u0014]bcicicicicicicicicicicicicicici^e\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNVcicicicicicicicicicicicicicicicicicicibh),^\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9FqbhciciciciciciciciciciciciciciciciciciciHM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B?J~cicicicicicicicicicicicicicicicicici;?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\t\u000b%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B^dciciciciciciciciciciciciciciciciciciciciciciciciciciciciciU\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=Lagcicicicicicicicicicicicicicicicici37p\u0000\u0000\u000059vciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>S`gciciciciciciciciciciciciciciciciciciciY_\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<L\\ccicicicicicicicicicicicicicicicicicici`f\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017$)&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicici+0d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLWcicicicicicicicicicicicicicicicicicicicicicicicicicicicici=@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQXciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000SYcicicicicicicicicicicicicicicici!$N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHRciciciciciciciciciciciciciciciciciciciciHL\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0007\t%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOWciciciciciciciciciciciciciciciciciciciciAF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX^ciciciciciciciciciciciciciciciciciag\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Djcicicicicicicicicicicicicicicicicicicicicicicicicicicici`f\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Grcicicicicicicicicicicicicicicicicibh).`ciciciciciciciciciciciciciciciciTY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0010\u0014%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D[bcicicicicicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+2'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDOciciciciciciciciciciciciciciciciciciciciZ`\b\b\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B0?XbhciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bciciciciciciciciciciciciciciciciciciciciciciciciciciciNT\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bcicicicicicicicicicicicicicicicici]bcicicicicicicicicicicicicicicici7;y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Hwciciciciciciciciciciciciciciciciciciciciag,.c\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<Iybhcicicicicicicicicicicicicicicicicicicici03k\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHSciciciciciciciciciciciciciciciciciciAE\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIScicicicicicicicicicicicicicicicicicicicicicicicicicici04l\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^d\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BPYcicicicicicicicicicicicicicicicicicicici^d\u001e!H\u0000\u0000\u0000\u0000\u0000\u0000\u001f-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Cf`fciciciciciciciciciciciciciciciciciciciciMS\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;J^ecicicicicicicicicicicicicicicicicici&&T\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1?]cicicicicicicicicicicicicicicicicicicicicicicicicici]c\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b\u001f&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?UbhciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciGK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<N]dcicicicicicicicicicicicicicicicicicicici[a  I\u0000\u0000\u0000\u000b\u0014\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Cf^ecicicicicicicicicicicicicicicicicicicici]b\u0010\u00150\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BISciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0007\b%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV_ciciciciciciciciciciciciciciciciciciciciciciciciciGM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e,3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\u001f\"L\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=Hwbhcicicicicicicicicicicicicicicicicicicici]b\"%P\u0000\u0000\u0000\u001d+2'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Fq_fcicicicicicicicicicicicicicicicicicicicici03k\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9FqV^=J|(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B3Bcagcicicicicicicicicicicicicicicicicici=@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOcicicicicicicicicicicicicicicicicicicicicicicicici#&Q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0005\u0007$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>I{ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciSY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0014%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicicicici^d')Z\b\u000f\u0013%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<IzagciciciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d!&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcici[bFP,<L(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;JYacicicicicicicicicicicicicicicicicici`f\u000e\u0014,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000e\u0017\u001b&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,>PagciciciciciciciciciciciciciciciciciciciciciciciV\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D]dcicicicicicicicicicicicicicicicicicicicicicicicicicicicicici69x\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:DW^ciciciciciciciciciciciciciciciciciciciciciaf;>\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:DJTbhciciciciciciciciciciciciciciciciciciciciciTY\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicici`fNV4Ce(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BS[ciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicicicicicicicici=B\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTcicicicicicicicicicicicicicicicicicicicicicicicicicicicici^d\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?U]dciciciciciciciciciciciciciciciciciciciciciciOS&4F'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1A_X^cicicicicicicicicicicicicicicicicicicicicici\\b\u0019\u0019;\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d!&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciX`CN*;H(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;FRYcicicicicicicicicicicicicicicicicicici_d\u0011\u00112\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B?Kciciciciciciciciciciciciciciciciciciciciciciag\u0014\u00143\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0014%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@]ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5Cf`gcicicicicicicicicicicicicicicicicicicicicici[a=G|(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;FEP`fcicicicicicicicicicicicicicicicicicicicicici`f&&T\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicici_fOX9Gr(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.=QU]ciciciciciciciciciciciciciciciciciciciciAC\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D_gciciciciciciciciciciciciciciciciciciciciciPU\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BV^cicicicicicicicicicicicicicicicicicicicicicicicicicicici\u001f\"L\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<IzbhciciciciciciciciciciciciciciciciciciciciciciciV^6Dj(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBK\\ccicicicicicicicicicicicicicicicicicicicicicicibh04l\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!&&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicici]dLU5Cf(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B8Eo]dciciciciciciciciciciciciciciciciciciciciY_\u0006\u0006 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BOYcicicicicicicicicicicicicicicicicicicicici37q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMciciciciciciciciciciciciciciciciciciciciciciciciciciciSY\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0015%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicicicicicicicicicicibhQZ8En(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<FBMY`cicicicicicicicicicicicicicicicicicicicicicicicibh6:w\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0005\u0007#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicici[bMV9Gr(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B-=SNXbhciciciciciciciciciciciciciciciciciciciciag'*Y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0016%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B;Gscicicicicicicicicicicicicicicicicicicici^d\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0019\u001d%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+<F_fcicicicicicicicicicicicicicicicicicicicicicicicicici6:w\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOciciciciciciciciciciciciciciciciciciciciciciciciciciY`DO,<L(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6DiNV_gcicicicicicicicicicicicicicicicicicicicicicicicicici:=~\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c)0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicicicicici`eRYBM0?X(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/?VLU`gcicicicicicicicicicicicicicicicicicicicicici@E\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]dciciciciciciciciciciciciciciciciciciciHM\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001d+1'9@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNWcicicicicicicicicicicicicicicicicicicicicicicicici^c\n\n\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BDNciciciciciciciciciciciciciciciciciciciciciciciciciciciagV^HR6Dj(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?UBMPY\\ccicicicicicicicicicicicicicicicicicicicicicicicicicicibh8;|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0018\u001d%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicicicicicicicicici\\cPYDO7Ci*;F(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/>XBMV^bhciciciciciciciciciciciciciciciciciciciciciciciQV\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f/5'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BLUcicicicicicicicicicicicicicicicicicici')Z\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B5ChciciciciciciciciciciciciciciciciciciciciciciciciciFK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BCNbhcicicicicicicicicicicicicicicicicicicicicicicicicicicicici_eY_PYHQ?J~:Fp6Be1?],>P*;F.=Q1?]6Be9En>I{FQOWV]\\ccicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibg46s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\"18(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciciciciciciciciciciciciciciciciciciciciahZaRZLUEO=Jy5Ch2@]->Q+<F+<F-=S1?]9En?KIRRY[bciciciciciciciciciciciciciciciciciciciciciciciciciciV\\\u000b\u000b!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4CfciciciciciciciciciciciciciciciciciciY]\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY_cicicicicicicicicicicicicicicicicicicicicicicici #K\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B>I{`gcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^d,.c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici[`\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZbcicicicicicicicicicicicicicicicici@E\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BEOciciciciciciciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0011\u0015%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B6Di]cciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY_\u001d!J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciZ`\u001e!H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"3:(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&7?\u0006\f\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B+=Lagcicicicicicicicicicicicicicicicicicicicicici6:v\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B-=TS[ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciMS\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0015#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciW]\u0016\u0016:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u0015!&\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQYcicicicicicicicicicicicicicicicicicicicici^c\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B$5?GKbhcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`f;>\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciRW\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B 06\u0001\u0002\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"29(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FqciciciciciciciciciciciciciciciciciciciciciEK\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\"3:,2eZ`ciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciSY\u001d!J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhDG\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\"'&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@\t\u0011\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0016\u001a%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B[bcicicicicicicicicicicicicicicicicicicici  I\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A /6\u000e\u0010%FKbhcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici^e;?\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:Frcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici]c,/e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\b\u000b#3;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u0018$*\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BHQciciciciciciciciciciciciciciciciciciciSX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0011\u0015%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\u001e-4\u0001\u0002\u0002$'SSYcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhHN\u0010\u00150\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019&,&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicichLP\u0014\u00186\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001e-3'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\"29\u0002\u0004\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.?Ubhcicicicicicicicicicicicicicicicicici59u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\u001d+1\u0000\u0001\u0001\u0000\u0000\u000013nW]cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhMQ  I\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%+%7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B:FrciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciW\\(*\\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015!'&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\f\u0015\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001d\"&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\cicicicicicicicicicicicicicicicici^c\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@\u001d+2\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u000048sV[cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici`fIO!$N\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019%+%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D:FqLUYabhciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY^7;y\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0014\u0018$5<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u001a'-\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001f.4'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B=J|ciciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001e#&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9@\u001e,2\u0001\u0003\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000+0dOSbgciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY_@E\u0010\u00150\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001a'-&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.>SBMQZ]dciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciUZ15n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\r\u0010\"29(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciNR\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B$5<\u0003\u0005\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\f$5=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B`ecicicicicicicicicicicicicicicici9<|\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D]dcicicicicicicicicicicicicicicici\u001d!J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\u001f/5\u0004\t\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u00185?DV[cicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\\bIM).`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c+1&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B1A_EORZ\\bcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicici\\bFK$'U\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0005\u0006!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A\u0010\u001a\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0017#(&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B):D^eciciciciciciciciciciciciciciciRX\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0012\u0015%6=(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\"29\t\u0011\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c D?BRW`fcicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicicibhVZEI).`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\b\u000b\u001f/5'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0015\u001a959vHLUZ`fciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciciY^HN.0g\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0006\b /6'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&7>$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMcicicicicicicicicicicicicicicici59v\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A$5<\u0012\u001c!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\b\u001b.1fAEQV\\bcicicicicicicicicicicicicicicicicicicicicicicicici\\bQVDG13n\u000f\u000f)\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0018\u001d\"29'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000##N8<{GKRW[`bhcicicicicicicicicicicicicicicicicicicicicicici`fV\\JO8<{\u0019\u0019;\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\f\u000f!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BZacicicicicicicicicicicicicicici]b\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&7?\u001a'-\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u000f)+-_9=CHLPRXW]Za^e`fagcicibhag`e]bY_VZPUJNBG8;|*,]\n\u0010%\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*$5=(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0006 &(U37q?BHLPUTYY]]b_eafbhciag`f^d\\bZ^TZNSGK?D48s  I\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017\"29'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B<HuciciciciciciciciciciciciciciciciFJ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@!07\n\u0013\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0011\u0015 /6&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %$4<(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BU]cicicicicicicicicicicicicicicibh\u001d!J\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 06'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6=\u0018%+\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018%*$5<'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u001c*0%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B4AabhciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0013\u0016%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B&8@\"29\u0010\u001a\u001f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!\"29&8?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u001a\u001f!18'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNXcicicicicicicicicicicicicicicici67u\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A&7?\u001f.5\f\u0015\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0019\u001d /6%7>(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#4;\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u000e\u0011\u001e,3%6>(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B.=Qagcicicicicicicicicicicicicicici]c\u0003\u0003\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000#4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%7>\u001e-3\r\u0017\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u001b  /6%6>'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A!07\u0018%*\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\n\f\u001a'-$5<'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BIRciciciciciciciciciciciciciciciciEI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7> /6\u0013\u001e#\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\b\n\u0016#(\"29&7>'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&8@%6>#4;\u001d+2\u0014\u001f$\u0006\f\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0013\u001c)0$5<'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3;\u0002\u0004\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u001c!&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u000b\u0014\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;F]dcicicicicicicicicicicicicicicibh\u001b\u001fF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7?#4;\u001b(.\f\u0015\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002\u0012\u001d!\u001e-3$5=&8?(:A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&7?%6>\"2:\u001c*0\u0013\u001e#\u0006\u000b\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0003\u0004\u0013\u001f$\u001f.5%6='8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A%6=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=&7>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B%6>$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=&8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BBMciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@%7>\"3:\u001b(.\u0010\u0019\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012\u0015 &\u001e-4$5<&7?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:A'8@&7?%6>#3:\u001d,2\u0016\"'\f\u0015\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\t\u000b\u0013\u001d\"\u001d,2$5<&7?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BY_cicicicicicicicicicicicicicicici48s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b(.'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@&7>$5=\u001f/5\u0019&,\u0011\u001b\u001f\u0004\t\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\r\u0016\u001a\u0016\"'\u001d+2#3:%6>&7?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A&8?%7>%6=\"18\u001c+1\u0016\"(\u000f\u0019\u001d\u0005\n\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u000f\u0012\u0012\u001c!\u001b(.\"18%6=&7?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B9Grcicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A'8@&7?%6>$4; /6\u001c)0\u0017$)\u0013\u001e#\u000e\u0017\u001b\t\u0011\u0014\u0005\t\f\u0000\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003\u0005\n\f\t\u0011\u0014\u000e\u0017\u001c\u0013\u001e#\u0017$)\u001b)/\u001f.5#3;%6=%7>&8?'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(9A'9@&8?&7>%6>$5<!18\u001e,2\u001a'-\u0015!'\u0011\u001b \f\u0015\u0019\u0007\u000e\u0011\u0002\u0005\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0003\u0004\u0005\n\f\u000b\u0013\u0017\u0010\u001a\u001f\u0014 %\u0018%+\u001c*0!18$5<%6>&7?'8@(9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BT\\ciciciciciciciciciciciciciciciciEH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014\u001f$&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A'8@&8@&7?&7>%6>%6>%6=%5=$5=$5=$5=$5=$5=%5=%6=%6>%6>&7>&7?&8?'8@'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A'9A'8@&8?&7?%7>%6>%6=%6=%5=$5=$5=$5=%5=%6=%6=%6>%6>&7?&7?&8@'9@'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2A^bhcicicicicicicicicicicicicicicibh\u001b\u001fF\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BNWciciciciciciciciciciciciciciciciRV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<N`gcicicicicicicicicicicicicicicici46s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BGQcicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:D\\dciciciciciciciciciciciciciciciciDI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B@Jcicicicicicicicicicicicicicicicibh\u001c D\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BX^ciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0013\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7Focicicicicicicicicicicicicicicicici37p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BR[cicicicicicicicicicicicicicicici]b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B2@[bhciciciciciciciciciciciciciciciciEI\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BMVcicicicicicicicicicicicicicicicibh\u001d\u001dB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B,<L_fciciciciciciciciciciciciciciciciRW\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0017%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BFPcicicicicicicicicicicicicicicicici45q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B]bcicicicicicicicicicicicicicicici\\b\u0005\u0005\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$4;(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B?J~ciciciciciciciciciciciciciciciciciCH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BW^cicicicicicicicicicicicicicicicibh\u001a\u001d@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B7CiciciciciciciciciciciciciciciciciciQV\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0014\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BQZcicicicicicicicicicicicicicicicici26p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001b)/'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B/?Vchcicicicicicicicicicicicicicicici\\b\u0000\u0000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:BKTciciciciciciciciciciciciciciciciciCH\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0014 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B*;H_ecicicicicicicicicicicicicicicicibh\u001a\u001d@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'9A\r\u0017\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0014\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B 07\u0002\u0004\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c)0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u0012\u001d\"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B#3:\u0004\b\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015 %&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u0017#(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B%6>\u0006\f\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0015\u0018%6>(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u001b(.\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c*0'8@(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B'8@\n\u0011\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0003$4<(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B\u001e-3\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0015 &&7?(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:A\u000e\u0018\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!07'9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B%6>$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5=$5='9A(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B(:B"
  },
  {
    "path": "linux_os/part8/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part8/src/fbset/Makefile",
    "content": "\nTARGET=fbset\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/fbset/fbset.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <errno.h>\n#include <fcntl.h>\n#include \"printf.h\"\n\nint fill_fb(void *pbuffer, struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi, uint32_t color) {\n    for (int x=0; x<vi->xres; x++) {\n        for (int y=0; y<vi->yres; y++) {\n            int location = (x + vi->xoffset) * (vi->bits_per_pixel / 8) + (y + vi->yoffset) * fi->line_length;\n            uint32_t *pb = (uint32_t*)(pbuffer + location);\n            *pb = color;\n        }\n    }\n}\n\nint main(int argc, char **argv) {\n    printf(\"Frame Buffer Setting...\\n\");\n\n    if (argc < 3) {\n        printf(\"Usage: fbset <xres> <yres>\\n\");\n        return -1;\n    }\n\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    int xres = str_to_int(argv[1]);\n    int yres = str_to_int(argv[2]);\n\n    printf(\"Current resolution: %dx%d\\n\", vi.xres, vi.yres);\n    printf(\"Setting resolution: %dx%d\\n\", xres, yres);\n\n    vi.xres = vi.xres_virtual = xres;\n    vi.yres = vi.yres_virtual = yres;\n\n    if (fb_put_info(&vi) != FB_SUCCESS) {\n        printf(\"FAILED TO SET BUFFER: %d\", errno);\n        return -1;\n    }\n\n    void *pbuffer = fb_get_buffer();\n\n    if (fb_get_info(&vi, &fi) != FB_SUCCESS) {\n        printf(\"FAILED TO GET VIDEO INFO: %d\\n\", errno);\n        return -1;\n    }\n\n    sleep_sec(2);\n\n    fill_fb(pbuffer, &vi, &fi, 0xFFFFFFFF);\n\n    sleep_sec(2);\n\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_GRAPHICS);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFFFF0000);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF00FF00);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF0000FF);\n\n    sleep_sec(2);\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_TEXT);\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part8/src/include/libfb.h",
    "content": "#include <linux/fb.h>\n#include <linux/kd.h>\n\n#define FB_ERR_NOFB0 -1\n#define FB_ERR_GETINFO -2\n#define FB_ERR_PUTINFO -3\n#define FB_ERR_MMAP -4\n#define FB_SUCCESS 0\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi);\nint fb_put_info(struct fb_var_screeninfo *vi);\nvoid *fb_get_buffer();\n\n"
  },
  {
    "path": "linux_os/part8/src/include/mylib.h",
    "content": "#pragma once\n\n#include <sys/wait.h>\n#include <time.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <sys/select.h>\n#include <sys/mman.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <sys/wait.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\nextern void *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);\nextern int sys_munmap(void *addr, size_t length);\nextern void *malloc(size_t size);\nextern void free(void *addr);\n\nextern int sys_stat(const char *pathname, struct stat *statbuf);\nextern int sys_close(unsigned long fd);\nextern int sys_ioctl(unsigned long fd, unsigned long cmd, void *arg);\n\nextern int sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);\n"
  },
  {
    "path": "linux_os/part8/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part8/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/init/crt0.S",
    "content": ".globl _start\n\n_start: # _start is the entry point known to the linker\n    xor %ebp, %ebp            # effectively RBP := 0, mark the end of stack frames\n    mov (%rsp), %edi          # get argc from the stack (implicitly zero-extended to 64-bit)\n    lea 8(%rsp), %rsi         # take the address of argv from the stack\n    lea 16(%rsp,%rdi,8), %rdx # take the address of envp from the stack\n    xor %eax, %eax            # per ABI and compatibility with icc\n    call main                 # %edi, %rsi, %rdx are the three args (of which first two are C standard) to main\n\n    mov %eax, %edi    # transfer the return of main to the first argument of _exit\n    xor %eax, %eax    # per ABI and compatibility with icc\n    call _exit        # terminate the program\n"
  },
  {
    "path": "linux_os/part8/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n#include <libfb.h>\n#include <linux/vt.h>\n\nuint32_t fix_color(uint32_t num) {\n    return (num & 0xFF00FF00) | ((num & 0xFF) << 16) | ((num >> 16) & 0xFF);\n}\n\nint main() {\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_GRAPHICS);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    vi.xres = vi.xres_virtual = 1024;\n    vi.yres = vi.yres_virtual = 768;\n\n    //add error handling here normally...\n    fb_put_info(&vi);\n\n    void *pbuffer = fb_get_buffer();\n\n    int fd = sys_open(\"/etc/myos.img\", O_RDONLY);\n    int buff_size = sizeof(int) * 1024 * 768;\n    int *buff = malloc(buff_size);\n    sys_read(fd, buff, buff_size);\n    sys_close(fd);\n\n    int i = 0;\n\n    for (int y=0; y<vi.yres; y++) {\n        for (int x=0; x<vi.xres; x++) {\n            int location = (x + vi.xoffset) * (vi.bits_per_pixel / 8) + (y + vi.yoffset) * fi.line_length;\n            uint32_t *pb = (uint32_t *)(pbuffer + location);\n            *pb = fix_color(buff[i]);\n            i++;\n        }\n    }\n\n    sleep_sec(5);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_TEXT);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part8/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = malloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nchar **cmd_to_args(char *cmd) {\n    int num_spaces = 0;\n    int len = str_len(cmd);\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == ' ') {\n            cmd[i] = 0;\n            num_spaces++;\n        }\n    }\n\n    char **argv = malloc(sizeof(char *) * (num_spaces + 1));\n    int cur_item = 0;\n    argv[0] = cmd;\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == 0) {\n            argv[++cur_item] = cmd + i + 1;\n        }\n    }\n\n    argv[++cur_item] = 0;\n\n    return argv;\n}\n\nbool find_command(char *fullPath) {\n    struct stat statbuf;\n    char binPath[64];\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    sprintf(binPath, \"/bin/%s\", fullPath);\n    str_copy(fullPath, binPath);\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    return false;\n}\n\nbool process_command(char *cmd) {\n    char **argv = cmd_to_args(cmd);\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    } else if (str_eq(cmd, \"alloc\")) {\n        int size = 0;\n\n        if (argv[1]) {\n            //brk 4096\n            size = str_to_int(argv[1]);\n        }\n\n        void *p = malloc(size);\n\n        printf(\"Returned pointer: %lX\\n\", p);\n\n        print_heap();\n    } else if (str_eq(cmd, \"free\")) {\n        //free ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        free(addr);\n\n        print_heap();\n    } else if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        //second arg..\n        char *val = argv[2];\n\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    } else if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    } else if (str_eq(cmd, \"events\")) {\n        handle_events();\n    } else {\n        struct stat statbuf;\n        char fullPath[64];\n        str_copy(fullPath, cmd);\n\n        if (find_command(fullPath)) {\n            long pid = sys_fork();\n\n            if (pid == 0) {\n                char *envp[1];\n                envp[0] = 0;\n\n                int ret = sys_execve(fullPath, argv, envp);\n                printf(\"Ret: %d\\n\", ret);\n                \n                free(argv);\n                _exit(ret);\n                \n                return false;\n            } else {\n                siginfo_t info;\n                int status = 0;\n\n                int ret = sys_waitid(P_PID, pid, &info, WEXITED);\n                printf(\"Process Returned: %d\\n\", ret);\n            }\n        }\n    }\n\n    free(argv);\n    return true;\n}\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    print_heap();\n\n    console_open();\n    load_event_devices();\n\n    print_heap();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        if (str_eq(\"\", buff)) {\n            str_print(\" :> \");\n            continue;\n        }\n\n        if (!process_command(buff)) {\n            return 0;\n        }\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part8/src/libfb/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libfb.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/libfb/fb.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <fcntl.h>\n#include <errno.h>\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDONLY);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nint fb_put_info(struct fb_var_screeninfo *vi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOPUT_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_PUTINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nvoid *fb_get_buffer() {\n    struct fb_fix_screeninfo fi;\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return (void *)FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, &fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return (void *)FB_ERR_GETINFO;\n    }\n\n    void *fb = sys_mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);\n\n    sys_close(fd);\n\n    return fb;\n}\n"
  },
  {
    "path": "linux_os/part8/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/mylib/mem.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\n#define DEBUG_MEM 1\n#define FLAG_MEM_ALLOCATED 1\n#define FLAG_MEM_MAPPED 2\n\nstatic const int PAGE_SIZE = 4096;\nstatic const int RESIZE_THRESHOLD = 16;\nstatic const int MMAP_THRESHOLD = 128 * 1024;\nstatic const int HEADER_SIZE = 4;\nstatic const int HEADER_FULL_SIZE = HEADER_SIZE * 2;\n\nstatic uint32_t HEADER_SIZE_MASK = 0xFFFFFFF8;\nstatic uint32_t HEADER_FLAGS_MASK = 7; //0111\n\n/*\n    CHUNK_HEADER {\n        size: 29-bits - 8 bit aligned\n        flags: 3-bits\n    }\n\n    HEAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n        header: 4 bytes\n    }\n\n    MMAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n    }\n\n    Header Flags:\n        Bit 0 - 0 = free, 1 = allocated\n        Bit 1 - 0 = heap, 1 = mmap\n        Bit 2 - reserved.\n\n    Heap Layout:\n    |-H1-SIZE-FLAGS-| < heap start, first chunk header.\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H1-SIZE-FLAGS-| < first chunk header\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------| < heap end (current brk value)\n*/\n\nstatic uint8_t *p_heap_start = NULL;\nstatic uint8_t *p_first_free = NULL;\nstatic uint8_t *p_heap_end = NULL;\n\n#define P_AS_U32(p) ((uint32_t*)p)\n\nstatic inline uint32_t chunk_size(uint8_t *p) {\n    return *P_AS_U32(p) & HEADER_SIZE_MASK;\n}\n\nstatic inline bool is_chunk_alloc(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_ALLOCATED;\n}\n\nstatic inline bool is_chunk_free(uint8_t *p) {\n    return !is_chunk_alloc(p);\n}\n\nstatic inline bool is_chunk_mapped(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_MAPPED;\n}\n\nstatic inline uint8_t *next_chunk(uint8_t *p) {\n    return (p + chunk_size(p) + HEADER_FULL_SIZE);\n}\n\nstatic inline uint8_t *chunk_set_size(uint8_t *p, size_t size) {\n    *P_AS_U32(p) = size;\n    *P_AS_U32((p + size + HEADER_SIZE)) = size;\n    return p;\n}\n\nstatic inline uint8_t *chunk_set_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) |= flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) |= flags;\n    return p;\n}\n\nstatic inline uint8_t *chunk_unset_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) &= ~flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) &= ~flags;\n    return p;\n}\n\nstatic inline size_t align_8(size_t size) {\n    uint32_t flags = size & HEADER_FLAGS_MASK;\n    return flags ? size + 8 - flags : size;\n}\n\nstatic void init_heap() {\n    p_heap_start = sys_brk(NULL);\n    p_heap_end = p_heap_start + PAGE_SIZE;\n    sys_brk(p_heap_end);\n\n    //the first free entry is at the start of the heap...\n    p_first_free = p_heap_start;\n\n    //nothing allocated yet, so set size full...\n    chunk_set_size(p_first_free, PAGE_SIZE - HEADER_FULL_SIZE);\n\n    if (DEBUG_MEM) {\n        printf(\"MEM: Init Heap:\\n\");\n        printf(\"MEM: \\tStart: %lX\\n\", p_heap_start);\n        printf(\"MEM: \\tEnd  : %lX\\n\", p_heap_end);\n        printf(\"MEM: \\tFirst Size: %ld\\n\", chunk_size(p_first_free));\n        printf(\"MEM: \\tHeap  Size: %ld\\n\", p_heap_end - p_heap_start);\n        \n    }\n}\n\nvoid print_heap() {\n    if (!DEBUG_MEM) {\n        return;\n    }\n\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    printf(\"MEM: Heap Info %lX to %lX (%ld):\\n\", p_heap_start, p_heap_end, p_heap_end - p_heap_start);\n\n    uint8_t *p = p_heap_start;\n\n    while(p < p_heap_end) {\n        printf(\"\\tMEM: %lX Size: %d - %s\\n\", p, chunk_size(p), is_chunk_free(p) ? \"FREE\" : \"ALLOC\");\n        p = next_chunk(p);\n    }\n}\n\nstatic uint8_t *find_first_fit(size_t size) {\n    for (uint8_t *p = p_first_free; p < p_heap_end; p = next_chunk(p)) {\n        if (is_chunk_free(p) && chunk_size(p) >= size) {\n            return p;\n        }\n    }\n\n    return NULL; //need more memory.\n}\n\nstatic uint8_t *alloc_new_memory(size_t in_size) {\n    int num_pages = (in_size / PAGE_SIZE) + 1;\n\n    if (in_size % PAGE_SIZE < HEADER_FULL_SIZE) {\n        //there is enough space for buffer, but not buffer + headers.\n        num_pages++;\n    }\n\n    size_t size = num_pages * PAGE_SIZE;\n\n    char *prev_end = p_heap_end;\n    p_heap_end = sys_brk(p_heap_end + size);\n\n    return chunk_set_size(prev_end, size - HEADER_FULL_SIZE);\n}\n\nvoid *malloc(size_t in_size) {\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    if (in_size >= MMAP_THRESHOLD) {\n        //not going to use heap, actually use mmap instead...\n        uint8_t *p = sys_mmap(NULL, in_size + HEADER_SIZE_MASK, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        chunk_set_size(p, in_size);\n        chunk_set_flags(p, FLAG_MEM_MAPPED | FLAG_MEM_ALLOCATED);\n\n        //user's pointer starts just past the header.\n        return p + HEADER_SIZE;\n    }\n\n    //not mmap, use heap instead.\n\n    //8 bit align the size...\n    size_t size = align_8(in_size);\n\n    uint8_t *p = find_first_fit(size);\n\n    if (p == NULL) {\n        p = alloc_new_memory(size);\n    }\n\n    size_t csize = chunk_size(p);\n    size_t diff = csize - size;\n\n    if (diff > RESIZE_THRESHOLD) {\n        size_t next_size = diff - HEADER_FULL_SIZE;\n\n        chunk_set_size(p, size);\n        chunk_set_size(next_chunk(p), next_size);\n    }\n\n    chunk_set_flags(p, FLAG_MEM_ALLOCATED);\n\n    return p + HEADER_SIZE;\n}\n\nvoid free(void *up) {\n    uint8_t *p = ((uint8_t *)up) - HEADER_SIZE;\n\n    if (is_chunk_mapped(p)) {\n        //it was not on the heap, unmap it.\n        int ret = sys_munmap(p, chunk_size(p) + HEADER_SIZE);\n\n        if (DEBUG_MEM) {\n            printf(\"MEM: free mapped, returned %d\\n\", ret);\n        }\n\n        return;\n    }\n\n    chunk_unset_flags(p, FLAG_MEM_ALLOCATED);\n\n    if (is_chunk_free(next_chunk(p))) {\n        //if next chunk is free, let's merge them.\n\n        size_t new_size = chunk_size(p) + chunk_size(next_chunk(p)) + HEADER_FULL_SIZE;\n        chunk_set_size(p, new_size);\n    }\n\n    if (next_chunk(p) >= p_heap_end) {\n        //we are on the last chunk on the heap, let's do some actual\n        //freeing of memory and move the brk back some.\n        p_heap_end = sys_brk(p);\n    }\n\n    if (p < p_first_free) {\n        p_first_free = p;\n    }\n}\n\n"
  },
  {
    "path": "linux_os/part8/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned long int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part8/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part8/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n\nvoid *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) {\n    return _syscall(SYS_mmap, addr, length, prot, flags, fd, offset);\n}\n\nint sys_munmap(void *addr, size_t length) {\n    return _syscall(SYS_munmap, addr, length, 0, 0, 0, 0);\n}\n\nint sys_stat(const char *pathname, struct stat *statbuf) {\n    return _syscall(SYS_stat, pathname, statbuf, 0, 0, 0, 0);\n}\n\nint sys_close(unsigned long fd) {\n    return _syscall(SYS_close, fd, 0, 0, 0, 0, 0);\n}\n\nint sys_ioctl(unsigned long fd, unsigned long cmd, void *arg) {\n    return _syscall(SYS_ioctl, fd, cmd, arg, 0, 0, 0);\n}\n\nint sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) {\n    return _syscall(SYS_waitid, (unsigned long)idtype, id, infop, options, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part8/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n\nvoid _exit(int code) {\n    return _syscall(SYS_exit, code, 0, 0, 0, 0, 0);\n}\n\nint errno_value = 0;\n\nint *__errno_location() {\n    return &errno_value;\n}\n"
  },
  {
    "path": "linux_os/part8/src/printargs/Makefile",
    "content": "\nTARGET=printargs\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part8/src/printargs/printargs.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\nint main(int argc, char **argv) {\n    printf(\"PrintArgs: %d\\n\", argc);\n\n    for (int i=1; i<argc; i++) {\n        printf(\"\\t%d = %s\\n\", i, argv[i]);\n    }\n\n    sleep_sec(2);\n\n    printf(\"done\\n\");\n\n    return 0;\n}"
  },
  {
    "path": "linux_os/part9/src/base.mk",
    "content": "SHELL ?= /bin/sh\nCC ?= gcc\nFLAGS ?= -nostdlib -I../include\nMYOS_PATH ?= /mnt/myos\nDESTDIR ?= /mnt/myos\n\nPREFIX ?= $(DESTDIR)\nBINDIR ?= $(PREFIX)/sbin\n\nOBJECTS += ../crt0_s.o\n\n%_c.o: %.c\n\t$(CC) $(FLAGS) -c $< -o $@\n\n%_s.o: %.S\n\t$(CC) $(FLAGS) -c $< -o $@\n\ninstall:\n\tcp $(TARGET) $(BINDIR)/\n\nclean:\n\trm *.o $(TARGET)\n"
  },
  {
    "path": "linux_os/part9/src/drmlist/Makefile",
    "content": "\nTARGET=drmlist\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lmydrm -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/drmlist/drmlist.c",
    "content": "#include <mydrm.h>\n#include <mylib.h>\n#include <printf.h>\n\nint main(int argc, char **argv) {\n    printf(\"DRM modes:\\n\");\n\n    int fd = mydrm_open(\"/dev/dri/card0\");\n    struct drm_mode_card_res res;\n\n    if (mydrm_get_resources(fd, &res)) {\n        printf(\"Failed to open card0 resources\\n\");\n        return -1;\n    }\n\n    printf(\"DRM Connectors: %d\\n\", res.count_connectors);\n    sleep_sec(1);\n\n    for (int i=0; i<res.count_connectors; i++) {\n        uint32_t *connectors = (uint32_t *)res.connector_id_ptr;\n\n        struct drm_mode_get_connector conn;\n        int ret = mydrm_get_connector(fd, connectors[i], &conn);\n\n        if (ret) {\n            printf(\"\\tFailed to get connector: %d\\n\", ret);\n            continue;\n        }\n\n        printf(\"Found Connector: %d - %d.  Modes %d\\n\", i, connectors[i], conn.count_modes);\n\n        if (conn.connection != DRM_MODE_CONNECTED) {\n            printf(\"\\tIgnoring unconnected connector. (%d)\\n\", conn.connection);\n            continue;\n        }\n\n        struct drm_mode_modeinfo *modes = (struct drm_mode_modeinfo *)conn.modes_ptr;\n\n        for (int m=0; m<conn.count_modes; m++) {\n            printf(\"\\tMode: %dx%d\\n\", modes[m].hdisplay, modes[m].vdisplay);\n            sleep_sec(1);\n        }\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part9/src/fbset/Makefile",
    "content": "\nTARGET=fbset\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/fbset/fbset.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <errno.h>\n#include <fcntl.h>\n#include \"printf.h\"\n\nint fill_fb(void *pbuffer, struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi, uint32_t color) {\n    for (int x=0; x<vi->xres; x++) {\n        for (int y=0; y<vi->yres; y++) {\n            int location = (x + vi->xoffset) * (vi->bits_per_pixel / 8) + (y + vi->yoffset) * fi->line_length;\n            uint32_t *pb = (uint32_t*)(pbuffer + location);\n            *pb = color;\n        }\n    }\n}\n\nint main(int argc, char **argv) {\n    printf(\"Frame Buffer Setting...\\n\");\n\n    if (argc < 3) {\n        printf(\"Usage: fbset <xres> <yres>\\n\");\n        return -1;\n    }\n\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    int xres = str_to_int(argv[1]);\n    int yres = str_to_int(argv[2]);\n\n    printf(\"Current resolution: %dx%d\\n\", vi.xres, vi.yres);\n    printf(\"Setting resolution: %dx%d\\n\", xres, yres);\n\n    vi.xres = vi.xres_virtual = xres;\n    vi.yres = vi.yres_virtual = yres;\n\n    if (fb_put_info(&vi) != FB_SUCCESS) {\n        printf(\"FAILED TO SET BUFFER: %d\", errno);\n        return -1;\n    }\n\n    void *pbuffer = fb_get_buffer();\n\n    if (fb_get_info(&vi, &fi) != FB_SUCCESS) {\n        printf(\"FAILED TO GET VIDEO INFO: %d\\n\", errno);\n        return -1;\n    }\n\n    sleep_sec(2);\n\n    fill_fb(pbuffer, &vi, &fi, 0xFFFFFFFF);\n\n    sleep_sec(2);\n\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_GRAPHICS);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFFFF0000);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF00FF00);\n\n    sleep_sec(2);\n    fill_fb(pbuffer, &vi, &fi, 0xFF0000FF);\n\n    sleep_sec(2);\n    sys_ioctl(fdcon, KDSETMODE, (void*)KD_TEXT);\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part9/src/include/libfb.h",
    "content": "#include <linux/fb.h>\n#include <linux/kd.h>\n\n#define FB_ERR_NOFB0 -1\n#define FB_ERR_GETINFO -2\n#define FB_ERR_PUTINFO -3\n#define FB_ERR_MMAP -4\n#define FB_SUCCESS 0\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi);\nint fb_put_info(struct fb_var_screeninfo *vi);\nvoid *fb_get_buffer();\n\n"
  },
  {
    "path": "linux_os/part9/src/include/mydrm.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n#include <drm/drm.h>\n#include <drm/drm_mode.h>\n\nstruct mydrm_get_cap {\n    uint64_t capability;\n    uint64_t value;\n};\n\nenum mydrm_modes {\n    DRM_MODE_CONNECTED = 1,\n    DRM_MODE_DISCONNECTED = 2,\n    DRM_MODE_UNKNOWN = 3\n};\n\nextern int mydrm_ioctl(int fd, unsigned long request, void *arg);\nextern int mydrm_open(const char *device_node);\nextern int mydrm_get_resources(int fd, struct drm_mode_card_res *res);\nextern int mydrm_get_connector(int fd, int id, struct drm_mode_get_connector *conn);\n\n"
  },
  {
    "path": "linux_os/part9/src/include/mylib.h",
    "content": "#pragma once\n\n#include <sys/wait.h>\n#include <time.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <sys/select.h>\n#include <sys/mman.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <sys/wait.h>\n\nextern unsigned long _syscall(int num, void *a0, void *a1, void *a2, void *a3, void *a4, void *a5);\n\nextern unsigned long sys_open(char *fn, int flags);\nextern unsigned long sys_read(unsigned long fd, char *buff, unsigned long size);\nextern unsigned long sys_reboot();\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem);\n\nextern unsigned long str_len(char *sz);\nextern void str_print(char *str);\n\nextern void delay(int ticks);\nextern void sleep_sec(int sec);\n\nextern int str_eq(char *a, char *b);\nextern unsigned long sys_write(unsigned long fd, char *buf, unsigned long len);\nextern long sys_fork();\nextern long sys_execve(char *filename, char **argv, char **envp);\nextern int execute_process(char *filename);\n\nextern int str_pos(char *s, char c);\nextern unsigned long hex_str_to_ulong(char *s);\nextern int str_to_int(char *s);\nextern void *sys_brk(void *p);\n\nextern int sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout);\nextern void *mem_alloc(int size);\nextern void mem_set(void *p, char n, size_t size);\nextern void mem_copy(void *dest, void *source, size_t size);\nextern void str_copy(char *dest, char *source);          \n\nextern void *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);\nextern int sys_munmap(void *addr, size_t length);\nextern void *malloc(size_t size);\nextern void free(void *addr);\n\nextern int sys_stat(const char *pathname, struct stat *statbuf);\nextern int sys_close(unsigned long fd);\nextern int sys_ioctl(unsigned long fd, unsigned long cmd, void *arg);\n\nextern int sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);\n"
  },
  {
    "path": "linux_os/part9/src/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "linux_os/part9/src/init/Makefile",
    "content": "\nTARGET=init\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -lfb -L$(MYOS_PATH)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/init/crt0.S",
    "content": ".globl _start\n\n_start: # _start is the entry point known to the linker\n    xor %ebp, %ebp            # effectively RBP := 0, mark the end of stack frames\n    mov (%rsp), %edi          # get argc from the stack (implicitly zero-extended to 64-bit)\n    lea 8(%rsp), %rsi         # take the address of argv from the stack\n    lea 16(%rsp,%rdi,8), %rdx # take the address of envp from the stack\n    xor %eax, %eax            # per ABI and compatibility with icc\n    call main                 # %edi, %rsi, %rdx are the three args (of which first two are C standard) to main\n\n    mov %eax, %edi    # transfer the return of main to the first argument of _exit\n    xor %eax, %eax    # per ABI and compatibility with icc\n    call _exit        # terminate the program\n"
  },
  {
    "path": "linux_os/part9/src/init/init.c",
    "content": "#include <syscall.h>\n#include <fcntl.h>\n#include <mylib.h>\n#include <libfb.h>\n#include <linux/vt.h>\n\nuint32_t fix_color(uint32_t num) {\n    return (num & 0xFF00FF00) | ((num & 0xFF) << 16) | ((num >> 16) & 0xFF);\n}\n\nint main() {\n    int fdcon = sys_open(\"/dev/console\", O_RDWR);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_GRAPHICS);\n\n    struct fb_var_screeninfo vi;\n    struct fb_fix_screeninfo fi;\n\n    fb_get_info(&vi, &fi);\n\n    vi.xres = vi.xres_virtual = 1024;\n    vi.yres = vi.yres_virtual = 768;\n\n    //add error handling here normally...\n    fb_put_info(&vi);\n\n    void *pbuffer = fb_get_buffer();\n\n    int fd = sys_open(\"/etc/myos.img\", O_RDONLY);\n    int buff_size = sizeof(int) * 1024 * 768;\n    int *buff = malloc(buff_size);\n    sys_read(fd, buff, buff_size);\n    sys_close(fd);\n\n    int i = 0;\n\n    for (int y=0; y<vi.yres; y++) {\n        for (int x=0; x<vi.xres; x++) {\n            int location = (x + vi.xoffset) * (vi.bits_per_pixel / 8) + (y + vi.yoffset) * fi.line_length;\n            uint32_t *pb = (uint32_t *)(pbuffer + location);\n            *pb = fix_color(buff[i]);\n            i++;\n        }\n    }\n\n    sleep_sec(5);\n    sys_ioctl(fdcon, KDSETMODE, (void *)KD_TEXT);\n\n    execute_process(\"/bin/lash\");\n\n    while(1) {\n        //event loop, for now just tick...\n        sleep_sec(1);\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part9/src/lash/Makefile",
    "content": "\nTARGET=lash\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/lash/lash.c",
    "content": "#include <mylib.h>\n#include <fcntl.h>\n#include \"printf.h\"\n#include <linux/input-event-codes.h>\n\nunsigned long console_fd = 0;\n\nstruct event_file {\n    struct event_file *next;\n\n    int fd;\n    char name[64];\n};\n\nstruct input_event {\n        struct timeval time;\n        unsigned short type;\n        unsigned short code;\n        unsigned int value;\n};\n\nstruct mouse_pos_info {\n    int x;\n    int y;\n    int max_x;\n    int max_y;\n};\n\nstruct mouse_pos_info mouse_pos;\n\nstruct event_file *event_list_head;\n\nvoid load_event_devices() {\n    printf(\"Loading Input Devices...\\n\");\n    event_list_head = NULL;\n\n    mouse_pos.x = 0;\n    mouse_pos.y = 0;\n    mouse_pos.max_x = 1024;\n    mouse_pos.max_y = 768;\n\n    for (int i=0; i<10; i++) {\n        char name[64];\n        sprintf(name, \"/dev/input/event%d\", i);\n\n        int fd = sys_open(name, O_RDONLY);\n\n        if (fd < 0) {\n            //not found\n            break;\n        }\n\n        struct event_file *e = malloc(sizeof(struct event_file));\n        str_copy(e->name, name);\n        e->fd = fd;\n        e->next = event_list_head;\n        event_list_head = e;\n    }\n}\n\nbool handle_event(struct event_file *e, struct input_event *event) {\n\n    if (event->type == EV_REL) {\n        //mouse relative event.\n\n        if (event->code == REL_X) {\n            //mouse X event\n            int new_x = mouse_pos.x + event->value;\n\n            if (new_x >= 0 && new_x <= mouse_pos.max_x) {\n                mouse_pos.x = new_x;\n            }\n        }\n\n        if (event->code == REL_Y) {\n            //mouse y event\n            int new_y = mouse_pos.y + event->value;\n\n            if (new_y >= 0 && new_y <= mouse_pos.max_y) {\n                mouse_pos.y = new_y;\n            }\n        }\n\n        printf(\"\\rMOUSE_POS: %d - %d             \", mouse_pos.x, mouse_pos.y);\n    }\n\n    if (event->type == EV_KEY) {\n        printf(\"KEY_INPUT: %s - %d - %d - %d\\n\", e->name, event->code, event->type, event->value);\n\n        if (event->code == KEY_END) {\n            printf(\"Exiting.\\n\");\n            return true;\n        }\n    }\n\n    return false;\n}\n\nvoid handle_events() {\n    printf(\"Listening for events...\\n\");\n\n    while(true) {\n        fd_set fds;\n        FD_ZERO(&fds);\n\n        struct event_file *e = event_list_head;\n\n        while(e) {\n            FD_SET(e->fd, &fds);\n            e = e->next;\n        }\n\n        int ret = sys_select(event_list_head->fd + 1, &fds, NULL, NULL, NULL);\n\n        if (ret < 0) {\n            printf(\"SELECT FAILED!\\n\");\n            return;\n        }\n\n        e = event_list_head;\n\n        while(e) {\n            if (FD_ISSET(e->fd, &fds)) {\n                char buffer[1024];\n                int r = sys_read(e->fd, buffer, sizeof(buffer));\n                int pos = 0;\n\n                while(pos < r) {\n                    struct input_event *event = (struct input_event *)(buffer + pos);\n                    pos += sizeof(struct input_event);\n\n                    if (handle_event(e, event)) {\n                        return;\n                    }\n                }\n            }\n\n            e = e->next;\n        }\n    }\n}\n\nvoid console_open() {\n    console_fd = sys_open(\"/dev/console\", O_RDWR | O_NDELAY);\n}\n\nchar console_read() {\n    char c = 0;\n\n    while(!sys_read(console_fd, &c, 1)) {\n        struct timespec ts;\n        ts.tv_sec = 0;\n        ts.tv_nsec = 10000;\n        sys_nanosleep(&ts, NULL);\n    }\n\n    return c;\n}\n\nvoid console_write(char c) {\n    sys_write(console_fd, &c, 1);\n}\n\nint read_line(char *buff, int max) {\n    int i=0;\n\n    for (; i<max; i++) {\n        char c = console_read();\n\n        if (c == 0) {\n            i--;\n            continue;\n        }\n\n        console_write(c);\n\n        buff[i] = c;\n\n        if (c == '\\b') {\n            i--;\n            buff[i] = 0;\n        }\n\n        if (c == '\\n') {\n            buff[i] = 0;\n            return i;\n        }\n    }\n\n    return i;\n}\n\nchar **cmd_to_args(char *cmd) {\n    int num_spaces = 0;\n    int len = str_len(cmd);\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == ' ') {\n            cmd[i] = 0;\n            num_spaces++;\n        }\n    }\n\n    char **argv = malloc(sizeof(char *) * (num_spaces + 1));\n    int cur_item = 0;\n    argv[0] = cmd;\n\n    for (int i=0; i<len; i++) {\n        if (cmd[i] == 0) {\n            argv[++cur_item] = cmd + i + 1;\n        }\n    }\n\n    argv[++cur_item] = 0;\n\n    return argv;\n}\n\nbool find_command(char *fullPath) {\n    struct stat statbuf;\n    char binPath[64];\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    sprintf(binPath, \"/bin/%s\", fullPath);\n    str_copy(fullPath, binPath);\n\n    if (sys_stat(fullPath, &statbuf) == 0) {\n        return true;\n    }\n\n    return false;\n}\n\nbool process_command(char *cmd) {\n    char **argv = cmd_to_args(cmd);\n\n    if (str_eq(cmd, \"reboot\")) {\n        str_print(\"\\n\\n*** SYSTEM REBOOTING ***\\n\");\n        sys_reboot();\n    } else if (str_eq(cmd, \"alloc\")) {\n        int size = 0;\n\n        if (argv[1]) {\n            //brk 4096\n            size = str_to_int(argv[1]);\n        }\n\n        void *p = malloc(size);\n\n        printf(\"Returned pointer: %lX\\n\", p);\n\n        print_heap();\n    } else if (str_eq(cmd, \"free\")) {\n        //free ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        free(addr);\n\n        print_heap();\n    } else if (str_eq(cmd, \"store\")) {\n        //store ADDRESS VALUE\n        //store 1CF0000 12345\n        //second arg..\n        char *val = argv[2];\n\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int n = str_to_int(val);\n\n        printf(\"Storing %d at %X\\n\", n, addr);\n\n        int *p = (int *)addr;\n        *p = n;\n    } else if (str_eq(cmd, \"fetch\")) {\n        //fetch ADDRESS\n        unsigned long addr = hex_str_to_ulong(argv[1]);\n        int *p = (int *)addr;\n\n        printf(\"Fetched %d from %X\\n\", *p, addr);\n    } else if (str_eq(cmd, \"events\")) {\n        handle_events();\n    } else {\n        struct stat statbuf;\n        char fullPath[64];\n        str_copy(fullPath, cmd);\n\n        if (find_command(fullPath)) {\n            long pid = sys_fork();\n\n            if (pid == 0) {\n                char *envp[1];\n                envp[0] = 0;\n\n                int ret = sys_execve(fullPath, argv, envp);\n                printf(\"Ret: %d\\n\", ret);\n                \n                free(argv);\n                _exit(ret);\n                \n                return false;\n            } else {\n                siginfo_t info;\n                int status = 0;\n\n                int ret = sys_waitid(P_PID, pid, &info, WEXITED);\n                printf(\"Process Returned: %d\\n\", ret);\n            }\n        }\n    }\n\n    free(argv);\n    return true;\n}\n\nint main() {\n    str_print(\"\\033[H\\033[J\");\n    str_print(\"LASH v0.0.0.3\\n\");\n\n    print_heap();\n\n    console_open();\n    load_event_devices();\n\n    print_heap();\n\n    str_print(\" :> \");\n\n    while(1) {\n        char buff[1024];\n        read_line(buff, sizeof(buff));\n\n        if (str_eq(\"\", buff)) {\n            str_print(\" :> \");\n            continue;\n        }\n\n        if (!process_command(buff)) {\n            return 0;\n        }\n\n        str_print(\" :> \");\n    }\n}\n"
  },
  {
    "path": "linux_os/part9/src/libfb/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libfb.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/libfb/fb.c",
    "content": "#include <mylib.h>\n#include <libfb.h>\n#include <fcntl.h>\n#include <errno.h>\n\nint fb_get_info(struct fb_var_screeninfo *vi, struct fb_fix_screeninfo *fi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDONLY);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_GETINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nint fb_put_info(struct fb_var_screeninfo *vi) {\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOPUT_VSCREENINFO, vi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return FB_ERR_PUTINFO;\n    }\n\n    sys_close(fd);\n    return FB_SUCCESS;\n}\n\nvoid *fb_get_buffer() {\n    struct fb_fix_screeninfo fi;\n    int fd = sys_open(\"/dev/fb0\", O_RDWR);\n\n    if (fd < 0) {\n        errno = fd;\n        return (void *)FB_ERR_NOFB0;\n    }\n\n    int ret;\n    if ((ret = sys_ioctl(fd, FBIOGET_FSCREENINFO, &fi)) < 0) {\n        errno = ret;\n        sys_close(fd);\n        return (void *)FB_ERR_GETINFO;\n    }\n\n    void *fb = sys_mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);\n\n    sys_close(fd);\n\n    return fb;\n}\n"
  },
  {
    "path": "linux_os/part9/src/mydrm/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmydrm.so\nCSOURCES = $(shell echo *.c)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/mydrm/mydrm.c",
    "content": "#include <mydrm.h>\n#include <mylib.h>\n#include <fcntl.h>\n#include <errno.h>\n\n#ifndef O_CLOEXEC\n#define O_CLOEXEC\t02000000\n#endif\n\nint mydrm_ioctl(int fd, unsigned long request, void *arg) {\n    int ret;\n\n    do {\n        ret = sys_ioctl(fd, request, arg);\n    } while(ret == -EINTR || ret == -EAGAIN);\n\n    return ret;\n}\n\n//opening a device such as /dev/dri/card0\nint mydrm_open(const char *device_node) {\n    int fd = sys_open((char *)device_node, O_RDWR | O_CLOEXEC);\n\n    if (fd < 0) {\n        return fd;\n    }\n\n    struct mydrm_get_cap get_cap = {\n        .capability = DRM_CAP_DUMB_BUFFER,\n        .value = 0\n    };\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_GET_CAP, &get_cap) < 0 || !get_cap.value) {\n        return -EOPNOTSUPP;\n    }\n\n    return fd;\n}\n\nint mydrm_get_resources(int fd, struct drm_mode_card_res *res) {\n    mem_set(res, 0, sizeof(struct drm_mode_card_res));\n\n    int ior = 0;\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, res)) {\n        return -1;\n    }\n\n    if (res->count_fbs) {\n        res->fb_id_ptr = (uint64_t)malloc(res->count_fbs * sizeof(uint32_t));\n        mem_set((void *)res->fb_id_ptr, 0, res->count_fbs * sizeof(uint32_t));\n    }\n\n    if (res->count_crtcs) {\n        res->crtc_id_ptr = (uint64_t)malloc(res->count_crtcs * sizeof(uint32_t));\n        mem_set((void *)res->crtc_id_ptr, 0, res->count_crtcs * sizeof(uint32_t));\n    }\n\n    if (res->count_connectors) {\n        res->connector_id_ptr = (uint64_t)malloc(res->count_connectors * sizeof(uint32_t));\n        mem_set((void *)res->connector_id_ptr, 0, res->count_connectors * sizeof(uint32_t));\n    }\n\n    if (res->count_encoders) {\n        res->encoder_id_ptr = (uint64_t)malloc(res->count_encoders * sizeof(uint32_t));\n        mem_set((void *)res->encoder_id_ptr, 0, res->count_encoders * sizeof(uint32_t));\n    }\n\n    ior = mydrm_ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, res);\n\n    if (ior) {\n        return -1;\n    }\n\n    return 0;\n}\n\nint mydrm_get_connector(int fd, int id, struct drm_mode_get_connector *conn) {\n    mem_set(conn, 0, sizeof(struct drm_mode_get_connector));\n    conn->connector_id = id;\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn)) {\n        return -1;\n    }\n\n    if (conn->count_props) {\n        conn->props_ptr = (uint64_t)malloc(conn->count_props * sizeof(uint32_t));\n        conn->prop_values_ptr = (uint64_t)malloc(conn->count_props * sizeof(uint64_t));\n    }\n\n    if (conn->count_modes) {\n        conn->modes_ptr = (uint64_t)malloc(conn->count_modes * sizeof(struct drm_mode_modeinfo));\n    }\n\n    if (conn->count_encoders) {\n        conn->encoders_ptr = (uint64_t)malloc(conn->count_encoders * sizeof(uint32_t));\n    }\n\n    if (mydrm_ioctl(fd, DRM_IOCTL_MODE_GETCONNECTOR, conn)) {\n        return -1;\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "linux_os/part9/src/mylib/Makefile",
    "content": "\nLDFLAGS = -shared\nTARGET = libmy.so\nCSOURCES = $(shell echo *.c)\nSSOURCES = $(shell echo *.S)\nFLAGS = -nostdlib -I../include -fPIC\n\nOBJECTS = $(CSOURCES:.c=_c.o)\nOBJECTS += $(SSOURCES:.S=_s.o)\n\nBINDIR = $(PREFIX)/lib\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\tld $(FLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/mylib/mem.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\n#define DEBUG_MEM 1\n#define FLAG_MEM_ALLOCATED 1\n#define FLAG_MEM_MAPPED 2\n\nstatic const int PAGE_SIZE = 4096;\nstatic const int RESIZE_THRESHOLD = 16;\nstatic const int MMAP_THRESHOLD = 128 * 1024;\nstatic const int HEADER_SIZE = 4;\nstatic const int HEADER_FULL_SIZE = HEADER_SIZE * 2;\n\nstatic uint32_t HEADER_SIZE_MASK = 0xFFFFFFF8;\nstatic uint32_t HEADER_FLAGS_MASK = 7; //0111\n\n/*\n    CHUNK_HEADER {\n        size: 29-bits - 8 bit aligned\n        flags: 3-bits\n    }\n\n    HEAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n        header: 4 bytes\n    }\n\n    MMAP CHUNK = {\n        header: 4 bytes\n        data: $size bytes\n    }\n\n    Header Flags:\n        Bit 0 - 0 = free, 1 = allocated\n        Bit 1 - 0 = heap, 1 = mmap\n        Bit 2 - reserved.\n\n    Heap Layout:\n    |-H1-SIZE-FLAGS-| < heap start, first chunk header.\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H1-SIZE-FLAGS-| < first chunk header\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------|\n    |---------------|\n    |---------------|\n    |---------------|\n    |-H2-SIZE-FLAGS-| < second chunk header\n    |---------------| < heap end (current brk value)\n*/\n\nstatic uint8_t *p_heap_start = NULL;\nstatic uint8_t *p_first_free = NULL;\nstatic uint8_t *p_heap_end = NULL;\n\n#define P_AS_U32(p) ((uint32_t*)p)\n\nstatic inline uint32_t chunk_size(uint8_t *p) {\n    return *P_AS_U32(p) & HEADER_SIZE_MASK;\n}\n\nstatic inline bool is_chunk_alloc(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_ALLOCATED;\n}\n\nstatic inline bool is_chunk_free(uint8_t *p) {\n    return !is_chunk_alloc(p);\n}\n\nstatic inline bool is_chunk_mapped(uint8_t *p) {\n    return *P_AS_U32(p) & FLAG_MEM_MAPPED;\n}\n\nstatic inline uint8_t *next_chunk(uint8_t *p) {\n    return (p + chunk_size(p) + HEADER_FULL_SIZE);\n}\n\nstatic inline uint8_t *chunk_set_size(uint8_t *p, size_t size) {\n    *P_AS_U32(p) = size;\n    *P_AS_U32((p + size + HEADER_SIZE)) = size;\n    return p;\n}\n\nstatic inline uint8_t *chunk_set_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) |= flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) |= flags;\n    return p;\n}\n\nstatic inline uint8_t *chunk_unset_flags(uint8_t *p, uint32_t flags) {\n    *P_AS_U32(p) &= ~flags;\n    *P_AS_U32((p + chunk_size(p) + HEADER_SIZE)) &= ~flags;\n    return p;\n}\n\nstatic inline size_t align_8(size_t size) {\n    uint32_t flags = size & HEADER_FLAGS_MASK;\n    return flags ? size + 8 - flags : size;\n}\n\nstatic void init_heap() {\n    p_heap_start = sys_brk(NULL);\n    p_heap_end = p_heap_start + PAGE_SIZE;\n    sys_brk(p_heap_end);\n\n    //the first free entry is at the start of the heap...\n    p_first_free = p_heap_start;\n\n    //nothing allocated yet, so set size full...\n    chunk_set_size(p_first_free, PAGE_SIZE - HEADER_FULL_SIZE);\n\n    if (DEBUG_MEM) {\n        printf(\"MEM: Init Heap:\\n\");\n        printf(\"MEM: \\tStart: %lX\\n\", p_heap_start);\n        printf(\"MEM: \\tEnd  : %lX\\n\", p_heap_end);\n        printf(\"MEM: \\tFirst Size: %ld\\n\", chunk_size(p_first_free));\n        printf(\"MEM: \\tHeap  Size: %ld\\n\", p_heap_end - p_heap_start);\n        \n    }\n}\n\nvoid print_heap() {\n    if (!DEBUG_MEM) {\n        return;\n    }\n\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    printf(\"MEM: Heap Info %lX to %lX (%ld):\\n\", p_heap_start, p_heap_end, p_heap_end - p_heap_start);\n\n    uint8_t *p = p_heap_start;\n\n    while(p < p_heap_end) {\n        printf(\"\\tMEM: %lX Size: %d - %s\\n\", p, chunk_size(p), is_chunk_free(p) ? \"FREE\" : \"ALLOC\");\n        p = next_chunk(p);\n    }\n}\n\nstatic uint8_t *find_first_fit(size_t size) {\n    for (uint8_t *p = p_first_free; p < p_heap_end; p = next_chunk(p)) {\n        if (is_chunk_free(p) && chunk_size(p) >= size) {\n            return p;\n        }\n    }\n\n    return NULL; //need more memory.\n}\n\nstatic uint8_t *alloc_new_memory(size_t in_size) {\n    int num_pages = (in_size / PAGE_SIZE) + 1;\n\n    if (in_size % PAGE_SIZE < HEADER_FULL_SIZE) {\n        //there is enough space for buffer, but not buffer + headers.\n        num_pages++;\n    }\n\n    size_t size = num_pages * PAGE_SIZE;\n\n    char *prev_end = p_heap_end;\n    p_heap_end = sys_brk(p_heap_end + size);\n\n    return chunk_set_size(prev_end, size - HEADER_FULL_SIZE);\n}\n\nvoid *malloc(size_t in_size) {\n    if (!p_heap_start) {\n        init_heap();\n    }\n\n    if (in_size >= MMAP_THRESHOLD) {\n        //not going to use heap, actually use mmap instead...\n        uint8_t *p = sys_mmap(NULL, in_size + HEADER_SIZE_MASK, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n        chunk_set_size(p, in_size);\n        chunk_set_flags(p, FLAG_MEM_MAPPED | FLAG_MEM_ALLOCATED);\n\n        //user's pointer starts just past the header.\n        return p + HEADER_SIZE;\n    }\n\n    //not mmap, use heap instead.\n\n    //8 bit align the size...\n    size_t size = align_8(in_size);\n\n    uint8_t *p = find_first_fit(size);\n\n    if (p == NULL) {\n        p = alloc_new_memory(size);\n    }\n\n    size_t csize = chunk_size(p);\n    size_t diff = csize - size;\n\n    if (diff > RESIZE_THRESHOLD) {\n        size_t next_size = diff - HEADER_FULL_SIZE;\n\n        chunk_set_size(p, size);\n        chunk_set_size(next_chunk(p), next_size);\n    }\n\n    chunk_set_flags(p, FLAG_MEM_ALLOCATED);\n\n    return p + HEADER_SIZE;\n}\n\nvoid free(void *up) {\n    uint8_t *p = ((uint8_t *)up) - HEADER_SIZE;\n\n    if (is_chunk_mapped(p)) {\n        //it was not on the heap, unmap it.\n        int ret = sys_munmap(p, chunk_size(p) + HEADER_SIZE);\n\n        if (DEBUG_MEM) {\n            printf(\"MEM: free mapped, returned %d\\n\", ret);\n        }\n\n        return;\n    }\n\n    chunk_unset_flags(p, FLAG_MEM_ALLOCATED);\n\n    if (is_chunk_free(next_chunk(p))) {\n        //if next chunk is free, let's merge them.\n\n        size_t new_size = chunk_size(p) + chunk_size(next_chunk(p)) + HEADER_FULL_SIZE;\n        chunk_set_size(p, new_size);\n    }\n\n    if (next_chunk(p) >= p_heap_end) {\n        //we are on the last chunk on the heap, let's do some actual\n        //freeing of memory and move the brk back some.\n        p_heap_end = sys_brk(p);\n    }\n\n    if (p < p_first_free) {\n        p_first_free = p;\n    }\n}\n\n"
  },
  {
    "path": "linux_os/part9/src/mylib/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <mylib.h>\n#include <fcntl.h>\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf = NULL;\nstatic void* stdout_putp = NULL;\n\n#define PRINTF_LONG_SUPPORT 1\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned long int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\n\nextern unsigned long printf_fd = 0;\n\nvoid putc_console(void *p, char c) {\n    sys_write(printf_fd, &c, 1);\n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n\n    if (stdout_putf == NULL) {\n        printf_fd = sys_open(\"/dev/console\", O_WRONLY | O_NDELAY);\n        stdout_putf = putc_console;\n    }\n\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }\n"
  },
  {
    "path": "linux_os/part9/src/mylib/start.S",
    "content": ".globl _syscall\n_syscall:\n    movq %rdi, %rax\n    movq %rsi, %rdi\n    movq %rdx, %rsi\n    movq %rcx, %rdx\n    movq %r8, %r10\n    movq %r9, %r8\n    movq 8(%rsp), %r9\n    syscall\n    ret\n\n\n"
  },
  {
    "path": "linux_os/part9/src/mylib/sys.c",
    "content": "#include <syscall.h>\n#include <mylib.h>\n\nunsigned long sys_open(char *fn, int flags) {\n    return _syscall(SYS_open, fn, (void *)(long)flags, 0, 0, 0, 0);\n}\n\nunsigned long sys_read(unsigned long fd, char *buff, unsigned long size) {\n    return _syscall(SYS_read, (void *)fd, buff, (void *)size, 0, 0, 0);\n}\n\nunsigned long sys_reboot() {\n    return _syscall(SYS_reboot, (void *)0xfee1dead, (void *)672274793, (void*)0x1234567, 0, 0, 0);\n}\n\nunsigned long sys_nanosleep(struct timespec *req, struct timespec *rem) {\n    return _syscall(SYS_nanosleep, req, rem, 0, 0, 0, 0);\n}\n\nvoid sleep_sec(int sec) {\n    struct timespec tm;\n    tm.tv_nsec = 0;\n    tm.tv_sec = sec;\n\n    sys_nanosleep(&tm, NULL);\n}\n\nunsigned long sys_write(unsigned long fd, char *buf, unsigned long len) {\n    return _syscall(SYS_write, fd, buf, len, 0, 0, 0);\n}\n\nlong sys_fork() {\n    return _syscall(SYS_fork, 0, 0, 0, 0, 0, 0);\n}\n\nlong sys_execve(char *filename, char **argv, char **envp) {\n    return _syscall(SYS_execve, filename, argv, envp, 0, 0, 0);\n}\n\nint execute_process(char *filename) {\n    long pid = sys_fork();\n\n    if (!pid) {\n        char *argv[2];\n        argv[0] = filename;\n        argv[1] = 0;\n\n        char *envp[1];\n        envp[0] = 0;\n\n        return sys_execve(filename, argv, envp);\n    }\n}\n\n/*\n  .text     .data   .bss    heap    invalid                      stack\n [--------|-------|-------|---------|XXXXXXXXXXXXXXXXXXXXXXXXXXXXX|-----]\n                                    ^ brk (0x1FC1000)\n\n  brk(0) = 0x1FC0000\n  brk(0x1FC0000 + 0x1000) = 0x1FC1000\n*/\nvoid *sys_brk(void *p) {\n    return _syscall(SYS_brk, p, 0, 0, 0, 0, 0);\n}\n\nint sys_select(int nfds, fd_set *readfds, fd_set *writefds,\n                  fd_set *exceptfds, struct timeval *timeout) {\n    return _syscall(SYS_select, nfds, readfds, writefds, exceptfds, timeout, 0);\n}\n\nvoid *sys_mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset) {\n    return _syscall(SYS_mmap, addr, length, prot, flags, fd, offset);\n}\n\nint sys_munmap(void *addr, size_t length) {\n    return _syscall(SYS_munmap, addr, length, 0, 0, 0, 0);\n}\n\nint sys_stat(const char *pathname, struct stat *statbuf) {\n    return _syscall(SYS_stat, pathname, statbuf, 0, 0, 0, 0);\n}\n\nint sys_close(unsigned long fd) {\n    return _syscall(SYS_close, fd, 0, 0, 0, 0, 0);\n}\n\nint sys_ioctl(unsigned long fd, unsigned long cmd, void *arg) {\n    return _syscall(SYS_ioctl, fd, cmd, arg, 0, 0, 0);\n}\n\nint sys_waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) {\n    return _syscall(SYS_waitid, (unsigned long)idtype, id, infop, options, 0, 0);\n}\n"
  },
  {
    "path": "linux_os/part9/src/mylib/util.c",
    "content": "#include <mylib.h>\n#include <syscall.h>\n#include \"printf.h\"\n\nunsigned long str_len(char *sz) {\n    int count = 0;\n\n    while(*sz++) {\n        count++;\n    }\n\n    return count;\n}\n\nvoid delay(int ticks) {\n    for (int i=0; i<ticks; i++) {\n        //nothing...\n    }\n}\n\nvoid str_print(char *str) {\n    _syscall(SYS_write, (void *)1 /*stdout*/, str, (void *)str_len(str), 0, 0, 0);\n}\n\nint str_eq(char *a, char *b) {\n    char ca = *a;\n    char cb = *b;\n\n    for (; ca != 0 && cb != 0; ca = *(++a), cb = *(++b)) {\n        if (ca != cb) {\n            return 0;\n        }\n    }\n\n    return ca == cb;\n}\n\nint str_pos(char *s, char c) {\n    for (int i=0; s[i]; i++) {\n        if (s[i] == c) {\n            return i;\n        }\n    }\n\n    return -1;\n}\n\nunsigned long hex_str_to_ulong(char *s) {\n    static char *hexchars = \"0123456789ABCDEF\";\n    unsigned long result = 0;\n\n    for (; *s; s++) {\n        result *= 0x10;\n        result += str_pos(hexchars, *s);\n    }\n\n    return result;\n}\n\nint str_to_int(char *s) {\n    bool neg = *s == '-';\n    int result = 0;\n\n    if (neg) {\n        s++;\n    }\n\n    for (; *s; s++) {\n        result *= 10;\n        result += *s - '0';\n    }\n\n    return neg ? -result : result;\n}\n\nvoid mem_set(void *p, char n, size_t size) {\n    char *b = (char *)p;\n\n    for (int i=0; i<size; i++) {\n        *b++ = n;\n    }\n}\n\nvoid mem_copy(void *dest, void *source, size_t size) {\n    char *d = (char *)dest;\n    char *s = (char *)source;\n\n    for (int i=0; i<size; i++) {\n        d[i] = s[i];\n    }\n}\n\nvoid str_copy(char *dest, char *source) {\n    mem_copy(dest, source, str_len(source) + 1);\n}\n\nvoid _exit(int code) {\n    return _syscall(SYS_exit, code, 0, 0, 0, 0, 0);\n}\n\nint errno_value = 0;\n\nint *__errno_location() {\n    return &errno_value;\n}\n"
  },
  {
    "path": "linux_os/part9/src/printargs/Makefile",
    "content": "\nTARGET=printargs\nCSOURCES = $(shell echo *.c)\nOBJECTS = $(CSOURCES:.c=_c.o)\n\nLDFLAGS = -lmy -L$(MYOS_PATH)/lib\nBINDIR = $(PREFIX)/bin\n\nall: $(TARGET)\n\n$(TARGET): $(OBJECTS)\n\t$(CC) $(LDFLAGS) $(FLAGS) -o $(TARGET) $(OBJECTS)\n\ninclude ../base.mk\n"
  },
  {
    "path": "linux_os/part9/src/printargs/printargs.c",
    "content": "#include <mylib.h>\n#include \"printf.h\"\n\nint main(int argc, char **argv) {\n    printf(\"PrintArgs: %d\\n\", argc);\n\n    for (int i=1; i<argc; i++) {\n        printf(\"\\t%d = %s\\n\", i, argv[i]);\n    }\n\n    sleep_sec(2);\n\n    printf(\"done\\n\");\n\n    return 0;\n}"
  },
  {
    "path": "linux_os/qemu/qemu-run.sh",
    "content": "#!/bin/bash\n#will make an image in ~/git/LLD/linux_os/qemu/myos.img and run it with qemu\n\nrm -f ~/git/LLD/linux_os/qemu/myos.img\nqemu-img create ~/git/LLD/linux_os/qemu/myos.img 512M\nmkfs.ext4 ~/git/LLD/linux_os/qemu/myos.img\nmkdir -p ~/git/LLD/linux_os/qemu/mnt\nsudo mount ~/git/LLD/linux_os/qemu/myos.img ~/git/LLD/linux_os/qemu/mnt\nsudo cp -r /mnt/myos/* ~/git/LLD/linux_os/qemu/mnt\nsudo umount ~/git/LLD/linux_os/qemu/mnt\n\nqemu-system-x86_64 -kernel /boot/vmlinuz-linux -initrd /boot/initramfs-linux.img -m 512m -append \"root=/dev/sda\" -hda ~/git/LLD/linux_os/qemu/myos.img\n"
  },
  {
    "path": "ooc/Makefile",
    "content": "all: logtest\n\nlogtest:\n\tgcc *.c -o logtest\n\nclean:\n\trm -f logtest\n\trm -f *.log\n"
  },
  {
    "path": "ooc/flog.h",
    "content": "#pragma once\n\n#include \"log.h\"\n\nint filelog_create(logger *impl, char *filename);\n"
  },
  {
    "path": "ooc/log.h",
    "content": "#pragma once\n\ntypedef struct logger_ logger;\n\n//separate struct for function interface\ntypedef struct log_interface_ {\n    int (*init)(logger *self, void *data);\n    void (*info)(logger *self, char *str);\n    void (*error)(logger *self, char *str);\n    void (*close)(logger *self);\n} log_interface;\n\n//logger struct with data object\nstruct logger_ {\n    log_interface *interface;\n    void *data;\n};\n\n//only really one implementation of console so extern the impl\nextern logger conlog;\n"
  },
  {
    "path": "ooc/log_console.c",
    "content": "#include \"log.h\"\n#include <stdio.h>\n\nint console_init(logger *self, void *data) {\n    printf(\"Console Logger Init\\n\");\n    return 0;\n}\n\nvoid console_info(logger *self, char *str) {\n    printf(\"%s\\n\", str);\n}\n\nvoid console_error(logger *self, char *str) {\n    fprintf(stderr, \"%s\\n\", str);\n}\n\nvoid console_close(logger *self) {\n\n}\n\nlog_interface console_interface = {\n    .init = console_init,\n    .info = console_info,\n    .error = console_error,\n    .close = console_close\n};\n\nlogger conlog = {\n    .interface = &console_interface\n};\n"
  },
  {
    "path": "ooc/log_file.c",
    "content": "#include \"log.h\"\n#include <stdlib.h>\n#include <stdio.h>\n#include <errno.h>\n\nint file_init(logger *self, void *data);\nvoid file_info(logger *self, char *str);\nvoid file_error(logger *self, char *str);\nvoid file_close(logger *self);\n\nlog_interface file_interface = {\n    .init = file_init,\n    .info = file_info,\n    .error = file_error,\n    .close = file_close\n};\n\n//hidden implementation details...\ntypedef struct filelog_data_ {\n    char *filename;\n    FILE *fd;\n} filelog_data;\n\nint file_init(logger *self, void *data) {\n\n    self->interface = &file_interface;\n    self->data = data;\n\n    filelog_data *fld = data;\n    fld->fd = fopen(fld->filename, \"w\");\n\n    printf(\"File Logger Init: %s - %p\\n\", fld->filename, fld->fd);\n\n    if (!fld->fd) {\n        return errno;\n    }\n\n    return 0;\n}\n\nint filelog_create(logger *impl, char *filename) {\n    filelog_data *data = malloc(sizeof(filelog_data));\n\n    if (!data) {\n        return errno;\n    }\n\n    data->filename = filename;\n\n    return file_init(impl, data);\n}\n\nvoid file_info(logger *self, char *str) {\n    filelog_data *fld = self->data;\n    fprintf(fld->fd, \"INFO :> %s\\n\", str);\n}\n\nvoid file_error(logger *self, char *str) {\n    filelog_data *fld = self->data;\n    fprintf(fld->fd, \"ERROR:> %s\\n\", str);\n}\n\nvoid file_close(logger *self) {\n    filelog_data *fld = self->data;\n    fclose(fld->fd);\n    free(fld);\n}\n"
  },
  {
    "path": "ooc/main.c",
    "content": "#include \"log.h\"\n#include \"flog.h\"\n\n#include <stdio.h>\n\n//macros for less typing...\n#define ILOG(log, msg) (log)->interface->info(log, msg)\n#define ELOG(log, msg) (log)->interface->error(log, msg)\n\nvoid do_something(logger *log) {\n    //...\n    ILOG(log, \"Part 1\");\n    //...\n    ILOG(log, \"Part 2\");\n    //...\n\n    if (1) {\n        ELOG(log, \"oops\");\n    }\n}\n\nint main() {\n    //\n    //console log sample\n    //\n    log_interface *clog = conlog.interface;\n\n    //not really necessary for console log, but...\n    clog->init(&conlog, 0);\n\n    //long winded usage\n    conlog.interface->info(&conlog, \"Info message 1\");\n    conlog.interface->error(&conlog, \"Error message 1\");\n\n    //shorter usage\n    clog->info((void *)clog, \"Info message 2\");\n    clog->error((void *)clog, \"Error message 2\");\n\n    //macro usage\n    ILOG(&conlog, \"Info message 3\");\n    ELOG(&conlog, \"Error message 3\");\n\n    //\n    //file log samples\n    //\n\n    //first setup 2 separate log files.\n    logger f1;\n    logger f2;\n\n    //create the loggers...\n    filelog_create(&f1, \"file1.log\");\n    filelog_create(&f2, \"file2.log\");\n\n    log_interface *flog1 = f1.interface;\n    log_interface *flog2 = f2.interface;\n\n    //shorter usage\n    flog1->info(&f1, \"Info message 1\");\n    flog2->info(&f2, \"Info message 1\");\n    flog1->error(&f1, \"Error message 1\");\n    flog2->error(&f2, \"Error message 1\");\n\n    //macro usage\n    ILOG(&f1, \"Info message 2\");\n    ILOG(&f2, \"Info message 2\");\n\n    ELOG(&f1, \"Error message 2\");\n    ELOG(&f2, \"Error message 2\");\n\n    flog1->close(&f1);\n    flog2->close(&f2);\n\n    do_something(&f1);\n\n    return 0;\n}\n\n\n\n"
  },
  {
    "path": "pico/6502_part1/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 3.13)\ninclude(pico_sdk_import.cmake)\nproject(test_project)\npico_sdk_init()\n\nadd_executable(test \n    test.c\n    test.S\n)\n\npico_enable_stdio_usb(test 1)\npico_enable_stdio_uart(test 0)\n\npico_add_extra_outputs(test)\n\ntarget_link_libraries(test pico_stdlib hardware_i2c)\n"
  },
  {
    "path": "pico/6502_part1/pico_sdk_import.cmake",
    "content": "# This is a copy of <PICO_SDK_PATH>/external/pico_sdk_import.cmake\n\n# This can be dropped into an external project to help locate this SDK\n# It should be include()ed prior to project()\n\nif (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH))\n    set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})\n    message(\"Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')\")\nendif ()\n\nif (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT))\n    set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT})\n    message(\"Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')\")\nendif ()\n\nif (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH))\n    set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH})\n    message(\"Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')\")\nendif ()\n\nset(PICO_SDK_PATH \"${PICO_SDK_PATH}\" CACHE PATH \"Path to the Raspberry Pi Pico SDK\")\nset(PICO_SDK_FETCH_FROM_GIT \"${PICO_SDK_FETCH_FROM_GIT}\" CACHE BOOL \"Set to ON to fetch copy of SDK from git if not otherwise locatable\")\nset(PICO_SDK_FETCH_FROM_GIT_PATH \"${PICO_SDK_FETCH_FROM_GIT_PATH}\" CACHE FILEPATH \"location to download SDK\")\n\nif (NOT PICO_SDK_PATH)\n    if (PICO_SDK_FETCH_FROM_GIT)\n        include(FetchContent)\n        set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR})\n        if (PICO_SDK_FETCH_FROM_GIT_PATH)\n            get_filename_component(FETCHCONTENT_BASE_DIR \"${PICO_SDK_FETCH_FROM_GIT_PATH}\" REALPATH BASE_DIR \"${CMAKE_SOURCE_DIR}\")\n        endif ()\n        FetchContent_Declare(\n                pico_sdk\n                GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk\n                GIT_TAG master\n        )\n        if (NOT pico_sdk)\n            message(\"Downloading Raspberry Pi Pico SDK\")\n            FetchContent_Populate(pico_sdk)\n            set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR})\n        endif ()\n        set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE})\n    else ()\n        message(FATAL_ERROR\n                \"SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git.\"\n                )\n    endif ()\nendif ()\n\nget_filename_component(PICO_SDK_PATH \"${PICO_SDK_PATH}\" REALPATH BASE_DIR \"${CMAKE_BINARY_DIR}\")\nif (NOT EXISTS ${PICO_SDK_PATH})\n    message(FATAL_ERROR \"Directory '${PICO_SDK_PATH}' not found\")\nendif ()\n\nset(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake)\nif (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE})\n    message(FATAL_ERROR \"Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK\")\nendif ()\n\nset(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH \"Path to the Raspberry Pi Pico SDK\" FORCE)\n\ninclude(${PICO_SDK_INIT_CMAKE_FILE})\n"
  },
  {
    "path": "pico/6502_part1/test.c",
    "content": "#include \"pico/stdlib.h\"\n#include <stdio.h>\n#include \"hardware/i2c.h\"\n#include \"pico/binary_info.h\"\n\nconst uint BASE_BUS_ADDRESS = 0x8000;\nconst uint BASE_MEM_ADDRESS = 0x1000;\n\n#define I2C_PORT i2c0\n#define I2C_ADDR 0x20\n\n//8 bytes of RAM\nstatic unsigned char MEM[] = {0, 0, 0, 0, 0, 0, 0, 0};\n\n#define ADDR_TO_2BYTES(a) (a & 0xFF), ((a >> 8) & 0xFF)\n\n//CODE to run on the 6502 processor.\nstatic unsigned char CODE[] = {\n    0xA0, 0x00, //LDY $00\n    0x18, //CLC\n    0xB8, //CLV\n    0xA9, 0xF0, //LDA $F0\n    0x8D, ADDR_TO_2BYTES(BASE_MEM_ADDRESS), //STA 0x1000\n    0x6A, //ROR\n    0x8D, ADDR_TO_2BYTES(BASE_MEM_ADDRESS), //STA 0x1000\n    0x6A, //ROR\n    0x8D, ADDR_TO_2BYTES(BASE_MEM_ADDRESS), //STA 0x1000\n    0x6A, //ROR\n    0x8D, ADDR_TO_2BYTES(BASE_MEM_ADDRESS), //STA 0x1000\n    0x6A, //ROR\n    0x8D, ADDR_TO_2BYTES(BASE_MEM_ADDRESS), //STA 0x1000\n    0xAA, //TAX //transfer A to X\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0x8E, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 1), //STX 0x1001\n    0xE8, //INX  (x++)\n    0xC8, //INY  (y++)\n    0x8C, ADDR_TO_2BYTES(BASE_MEM_ADDRESS + 2), //STY 0x1002\n    0x4C, ADDR_TO_2BYTES(BASE_BUS_ADDRESS + 4)\n};\n\nconst uint CLOCK = 9;\nconst uint RW = 8;\n\nint addr_pins[] = {\n    16, 17, 18, 19,\n    20, 21, 22, 26,\n    27, 28, 15, 14,\n    13, 12, 11, 10\n};\n\nvoid write_data(uint8_t val) {\n    if (i2c_write_blocking(I2C_PORT, I2C_ADDR, &val, 1, false) <= 0) {\n        printf(\"FAILED TO WRITE TO I2C\\n\");\n    }\n}\n\nbool reserved_addr(uint8_t addr) {\n    return (addr & 0x78) == 0 || (addr & 0x78) == 0x78;\n}\n\nvoid scan_bus() {\n    sleep_ms(5000);\n    printf(\"I2C Bus Scan...\\n\");\n    printf(\"   0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F\\n\");\n    \n    for (int addr = 0; addr<(1 << 7); addr++) {\n        if (addr % 16 == 0) {\n            printf(\"%02x \", addr);\n        }\n\n        int ret;\n        uint8_t rxdata;\n        if (reserved_addr(addr)) {\n            ret = PICO_ERROR_GENERIC;\n        } else {\n            ret = i2c_read_blocking(i2c0, addr, &rxdata, 1, false);\n        }\n\n        printf(ret < 0 ? \".\" : \"@\");\n        printf(addr % 16 == 15 ? \"\\n\" : \"  \");\n    }\n\n    printf(\"DONE\\n\");\n    sleep_ms(2000);\n}\n\nvoid asm_test();\nvoid asm_test2();\n\nint nothing() {\n    return 5;\n}\n\nint main() {\n    int counter = 0;\n\n    //asm_test();\n\n    counter++;\n    counter++;\n    counter = nothing();\n    counter++;\n\n    //asm_test2();\n\n    i2c_init(I2C_PORT, 100 * 1000);\n\n    //page 26\n    gpio_set_function(4, GPIO_FUNC_I2C);\n    gpio_set_function(5, GPIO_FUNC_I2C);\n    gpio_pull_up(4);\n    gpio_pull_up(5);\n\n    bi_decl(bi_2pins_with_func(4, 5, GPIO_FUNC_I2C));\n\n    gpio_init(CLOCK);\n    gpio_set_dir(CLOCK, GPIO_OUT);\n\n    gpio_init(RW);\n    gpio_set_dir(RW, GPIO_IN);\n\n    for (int i=0; i<16; i++) {\n        gpio_init(addr_pins[i]);\n        gpio_set_dir(addr_pins[i], GPIO_IN);\n    }\n\n    stdio_init_all();\n\n    scan_bus();\n\n    while(true) {\n        //pulse clock\n        uint8_t val = 0xEA; //NOOP by default..  page 22\n\n        gpio_put(CLOCK, 0); //set clock LOW\n\n        sleep_ms(10);\n\n        bool isread = gpio_get(RW);\n\n        unsigned int fullAddr = 0;\n        for (int i=0; i<16; i++) {\n            int bit = (gpio_get(addr_pins[i]) ? 1 : 0);\n            fullAddr |= (bit << i);\n        }\n\n        bool is_pico_bus = fullAddr >= BASE_BUS_ADDRESS;\n\n        if (!isread || !is_pico_bus) {\n            write_data(0xFF); //set pins HIGH on the PCF8574 before reading values.\n        }\n\n        //6502 startup vector = 0xFFFC (2 bytes)\n        if (fullAddr == 0xFFFC) {\n            val = BASE_BUS_ADDRESS & 0xFF;\n            write_data(val);\n        } else if (fullAddr == 0xFFFD) {\n            val = (BASE_BUS_ADDRESS >> 8) & 0xFF;\n            write_data(val);\n        }\n\n        //check if the address is for code.\n        if (fullAddr >= BASE_BUS_ADDRESS && fullAddr < BASE_BUS_ADDRESS + sizeof(CODE)) {\n            val = CODE[fullAddr - BASE_BUS_ADDRESS];\n            write_data(val);\n        }\n\n        //check if the address is for memory region.\n        bool is_mem_addr = fullAddr >= BASE_MEM_ADDRESS && fullAddr < BASE_MEM_ADDRESS + sizeof(MEM);\n\n        if (is_mem_addr && isread) {\n            val = MEM[fullAddr - BASE_MEM_ADDRESS];\n            write_data(val);\n        }\n\n        sleep_ms(5);\n\n        gpio_put(CLOCK, 1); //Set clock HIGH\n\n        sleep_ms(5);\n\n        if (!isread || !is_pico_bus) {\n            val = 0;\n            int n = i2c_read_blocking(I2C_PORT, I2C_ADDR, &val, 1, false);\n\n            if (n <= 0) {\n                printf(\"FAILED READ: %2.2X\\n\", n);\n            }\n        }\n\n        if (is_mem_addr && !isread) {\n            MEM[fullAddr - BASE_MEM_ADDRESS] = val;\n        }\n\n        printf(\"ADDR: %4.4X - DATA: %2.2X - DIR: %c  \", \n                fullAddr, val, isread ? 'r' : 'W');\n\n        if (!isread) {\n            //print out the bits read that the processor wrote to the bus.\n            for (int i=7; i >= 0; i--) {\n                printf(\"%d\", (val >> i) & 1);\n            }\n        } else {\n            printf(\"        \");\n        }\n\n        printf(\"  MEM: %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X %2.2X \\n\", \n            MEM[0], MEM[1], MEM[2], MEM[3], MEM[4], MEM[5], MEM[6], MEM[7]);\n\n        sleep_ms(250);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part1-5/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part1-5/README.md",
    "content": "Lower Level Devel\n\nCode for https://www.youtube.com/playlist?list=PLVxiWMqQvhg9FCteL7I0aohj1_YiUx1x8\n"
  },
  {
    "path": "rpi_bm/part1-5/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part1-5/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part1-5/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part1-5/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part1-5/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part1-5/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part1-5/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part1-5/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part1-5/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part1-5/src/boot.S",
    "content": "#include \"mm.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part1-5/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part1-5/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n\nvoid kernel_main() {\n    uart_init();\n    uart_send_string(\"Rasperry PI Bare Metal OS Initializing...\\n\");\n\n#if RPI_VERSION == 3\n    uart_send_string(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    uart_send_string(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    uart_send_string(\"\\n\\nDone\\n\");\n\n    while(1) {\n        uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part1-5/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part1-5/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part1-5/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part1-5/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n"
  },
  {
    "path": "rpi_bm/part10/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part10/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part10/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part10/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part10/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part10/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part10/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part10/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part10/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part10/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part10/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part10/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part10/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part10/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part10/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part10/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part10/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part10/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part10/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part10/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part10/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part10/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part10/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (int i=0; i<10; i++) {\n        char buffer[10];\n        i2c_recv(21, buffer, 9);\n        buffer[9] = 0;\n\n        printf(\"Received: %s\\n\", buffer);\n\n        timer_sleep(250);\n    }\n\n    for (u8 d=0; d<20; d++) {\n        i2c_send(21, &d, 1);\n\n        timer_sleep(250);\n\n        printf(\"Sent: %d\\n\", d);\n    }\n\n    char *msg = \"Hello Slave Device\";\n    i2c_send(21, msg, 18);\n\n\n    printf(\"DONE!\\n\");\n\n    while(1) {\n        //uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part10/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part10/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part10/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part10/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part10/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part10/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part11/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part11/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part11/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part11/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part11/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part11/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part11/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part11/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part11/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part11/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part11/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part11/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part11/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part11/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part11/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part11/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part11/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n\nbool str_eq(char *a, char *b);\n"
  },
  {
    "path": "rpi_bm/part11/spi-slave/spi-slave.ino",
    "content": "#include <SPI.h>\nchar buff [255];\nvolatile byte indx;\nvolatile boolean process;\nint lastSize = 0;\n\nvoid setup (void) {\n   Serial.begin (115200);\n   \n   pinMode(MISO, OUTPUT); // have to send on master in so it set as output\n   SPCR |= _BV(SPE); // turn on SPI in slave mode\n   indx = 0; // buffer empty\n   process = false;\n   SPI.setClockDivider(2);\n   SPI.attachInterrupt(); // turn on interrupt\n\n   Serial.println(\"SPI LISTENING\");\n}\n\nISR (SPI_STC_vect) { \n   byte c = SPDR; // read byte from SPI Data Register\n   \n   if (indx < sizeof buff) {\n      buff [indx++] = c; // save data in the next index in the array buff\n      if (c == '\\n') //check for the end of the word\n      process = true;\n   }\n}\n\nvoid loop (void) {\n   if (process) {\n      process = false; //reset the process\n      buff[indx] = 0;\n      \n      Serial.print(\"LINE: \");\n      Serial.println (buff); //print the array on serial monitor\n\n      indx= 0; //reset button to zero\n   }\n\n   \n}\n"
  },
  {
    "path": "rpi_bm/part11/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part11/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part11/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part11/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part11/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part11/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part11/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing LCD...\\n\");\n    lcd_init(0x27);\n\n    for (int i=0; i<5; i++) {\n        lcd_backlight(true);\n        timer_sleep(250);\n        lcd_backlight(false);\n        timer_sleep(250);\n    }\n\n    lcd_backlight(true);\n    lcd_print(\"Hello LCD!\");\n\n\n    printf(\"DONE!\\n\");\n\n    while(1) {\n        //uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part11/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part11/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part11/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part11/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part11/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part11/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part11/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part11/user_submissions/README.md",
    "content": "This is for you all to add your own implementations for others to see.\n\nCreate a sub folder with your username containing the code for the project to share.\n\nCreate a pull request and I will merge it if all looks good.\n\nThanks!\n"
  },
  {
    "path": "rpi_bm/part12/.vscode/settings.json",
    "content": "{\n    \"files.associations\": {\n        \"led_display.h\": \"c\"\n    }\n}"
  },
  {
    "path": "rpi_bm/part12/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part12/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part12/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part12/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part12/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part12/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part12/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part12/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part12/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part12/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part12/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part12/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part12/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part12/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part12/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part12/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part12/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part12/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part12/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part12/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part12/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part12/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part12/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part12/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"Initializing Display...\\n\");\n    led_display_init();\n    timer_sleep(2000);\n\n    led_display_clear();\n\n    printf(\"Cleared\\n\");\n    \n    for (int i=0; i<=9; i++) {\n        for (int d=0; d<8; d++) {\n            led_display_set_digit(d, i, false);\n            timer_sleep(200);\n        }\n    }\n\n    printf(\"Intensifying...\\n\");\n\n    for (int i=0; i<16; i++) {\n        printf(\"Intensity: %d\\n\", i);\n        led_display_intensity(i);\n        timer_sleep(200);\n    }\n\n    led_display_clear();\n    timer_sleep(2000);\n\n    //HELLO\n    led_display_send_command(LD_DIGIT4, 0b00110111);\n    led_display_send_command(LD_DIGIT3, 0b01001111);\n    led_display_send_command(LD_DIGIT2, 0b00001110);\n    led_display_send_command(LD_DIGIT1, 0b00001110);\n    led_display_send_command(LD_DIGIT0, 0b01111110);\n\n\n    printf(\"Shutting down...\\n\");\n    timer_sleep(2000);\n    led_display_send_command(LD_SHUTDOWN, 0);\n\n    printf(\"DONE!\\n\");\n\n    while(1) {\n        //uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part12/src/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part12/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part12/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part12/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part12/src/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part12/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part13/.vscode/settings.json",
    "content": "{\n    \"files.associations\": {\n        \"led_display.h\": \"c\"\n    }\n}"
  },
  {
    "path": "rpi_bm/part13/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part13/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part13/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part13/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part13/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part13/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part13/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part13/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part13/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part13/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part13/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part13/include/mailbox.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef struct {\n    u32 id;\n    u32 buffer_size;\n    u32 value_length;\n} mailbox_tag;\n\ntypedef struct {\n    u32 size;\n    void *tag;\n} mailbox_command;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 value;\n} mailbox_generic;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 state;\n} mailbox_power;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 rate;\n} mailbox_clock;\n\ntypedef enum {\n    CT_EMMC = 1,\n    CT_UART = 2,\n    CT_ARM = 3,\n    CT_CORE = 4\n} clock_type;\n\n\n#define RPI_POWER_DOMAIN_I2C0\t\t0\n#define RPI_POWER_DOMAIN_I2C1\t\t1\n#define RPI_POWER_DOMAIN_I2C2\t\t2\n#define RPI_POWER_DOMAIN_VIDEO_SCALER\t3\n#define RPI_POWER_DOMAIN_VPU1\t\t4\n#define RPI_POWER_DOMAIN_HDMI\t\t5\n#define RPI_POWER_DOMAIN_USB\t\t6\n#define RPI_POWER_DOMAIN_VEC\t\t7\n#define RPI_POWER_DOMAIN_JPEG\t\t8\n#define RPI_POWER_DOMAIN_H264\t\t9\n#define RPI_POWER_DOMAIN_V3D\t\t10\n#define RPI_POWER_DOMAIN_ISP\t\t11\n#define RPI_POWER_DOMAIN_UNICAM0\t12\n#define RPI_POWER_DOMAIN_UNICAM1\t13\n#define RPI_POWER_DOMAIN_CCP2RX\t\t14\n#define RPI_POWER_DOMAIN_CSI2\t\t15\n#define RPI_POWER_DOMAIN_CPI\t\t16\n#define RPI_POWER_DOMAIN_DSI0\t\t17\n#define RPI_POWER_DOMAIN_DSI1\t\t18\n#define RPI_POWER_DOMAIN_TRANSPOSER\t19\n#define RPI_POWER_DOMAIN_CCP2TX\t\t20\n#define RPI_POWER_DOMAIN_CDP\t\t21\n#define RPI_POWER_DOMAIN_ARM\t\t22\n\n#define RPI_POWER_DOMAIN_COUNT\t\t23\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 0x80000000,\n\tRPI_FIRMWARE_STATUS_ERROR =   0x80000001,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END =                           0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,\n\n\tRPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,\n\tRPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,\n\n\tRPI_FIRMWARE_GET_BOARD_MODEL =                        0x00010001,\n\tRPI_FIRMWARE_GET_BOARD_REVISION =                     0x00010002,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS =                  0x00010003,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL =                       0x00010004,\n\tRPI_FIRMWARE_GET_ARM_MEMORY =                         0x00010005,\n\tRPI_FIRMWARE_GET_VC_MEMORY =                          0x00010006,\n\tRPI_FIRMWARE_GET_CLOCKS =                             0x00010007,\n\tRPI_FIRMWARE_GET_POWER_STATE =                        0x00020001,\n\tRPI_FIRMWARE_GET_TIMING =                             0x00020002,\n\tRPI_FIRMWARE_SET_POWER_STATE =                        0x00028001,\n\tRPI_FIRMWARE_GET_CLOCK_STATE =                        0x00030001,\n\tRPI_FIRMWARE_GET_CLOCK_RATE =                         0x00030002,\n\tRPI_FIRMWARE_GET_VOLTAGE =                            0x00030003,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE =                     0x00030004,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE =                        0x00030005,\n\tRPI_FIRMWARE_GET_TEMPERATURE =                        0x00030006,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE =                     0x00030007,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,\n\tRPI_FIRMWARE_GET_TURBO =                              0x00030009,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,\n\tRPI_FIRMWARE_GET_STC =                                0x0003000b,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,\n\tRPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,\n\tRPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,\n\tRPI_FIRMWARE_RELEASE_MEMORY =                         0x0003000f,\n\tRPI_FIRMWARE_EXECUTE_CODE =                           0x00030010,\n\tRPI_FIRMWARE_EXECUTE_QPU =                            0x00030011,\n\tRPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,\n\tRPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,\n\tRPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,\n\tRPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,\n\tRPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,\n\tRPI_FIRMWARE_SET_TURBO =                              0x00038009,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,\n\tRPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,\n\tRPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,\n\tRPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,\n\tRPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,\n\n\n\t/* Dispmanx TAGS */\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK =                      0x00040002,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT =  0x00040003,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT =   0x00040004,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH =                  0x00040005,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER =            0x00040006,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE =             0x00040007,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH =                  0x00040008,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH =                 0x00044005,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER =           0x00044006,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE =            0x00044007,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,\n\n\tRPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,\n\n\tRPI_FIRMWARE_GET_COMMAND_LINE =                       0x00050001,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS =                       0x00060001,\n};\n\nu32 mailbox_clock_rate(clock_type ct);\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value);\n\nbool mailbox_power_check(u32 type);\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size);\n"
  },
  {
    "path": "rpi_bm/part13/include/mem.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid *memcpy(void *dest, const void *src, u32 n);\n"
  },
  {
    "path": "rpi_bm/part13/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part13/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part13/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part13/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part13/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part13/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part13/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part13/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part13/include/video.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nbool video_set_resolution(u32 x, u32 y, u32 bpp);\n"
  },
  {
    "path": "rpi_bm/part13/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part13/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part13/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part13/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part13/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n#include \"mailbox.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"MAILBOX:\\n\");\n\n    printf(\"CORE CLOCK: %d\\n\", mailbox_clock_rate(CT_CORE));\n    printf(\"EMMC CLOCK: %d\\n\", mailbox_clock_rate(CT_EMMC));\n    printf(\"UART CLOCK: %d\\n\", mailbox_clock_rate(CT_UART));\n    printf(\"ARM  CLOCK: %d\\n\", mailbox_clock_rate(CT_ARM));\n\n    printf(\"I2C POWER STATE:\\n\");\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    timer_sleep(2000);\n\n    for (int i=0; i<3; i++) {\n        u32 on = 1;\n        mailbox_generic_command(RPI_FIRMWARE_SET_DOMAIN_STATE, i, &on);\n\n        printf(\"SET POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    timer_sleep(1000);\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    u32 max_temp = 0;\n\n    mailbox_generic_command(RPI_FIRMWARE_GET_MAX_TEMPERATURE, 0, &max_temp);\n\n    while(1) {\n        u32 cur_temp = 0;\n\n        mailbox_generic_command(RPI_FIRMWARE_GET_TEMPERATURE, 0, &cur_temp);\n\n        printf(\"Cur temp: %dC MAX: %dC\\n\", cur_temp / 1000, max_temp / 1000);\n\n        timer_sleep(1000);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part13/src/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part13/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part13/src/mailbox.c",
    "content": "#include <mailbox.h>\n#include <peripherals/base.h>\n#include \"printf.h\"\n#include <mem.h>\n\ntypedef struct {\n    reg32 read;\n    reg32 res[5];\n    reg32 status;\n    reg32 config;\n    reg32 write;\n} mailbox_regs;\n\nmailbox_regs *MBX() {\n    return (mailbox_regs *)(PBASE + 0xB880);\n}\n\ntypedef struct {\n    u32 size;\n    u32 code;\n    u8 tags[0];\n} property_buffer;\n\nstatic u32 property_data[8192] __attribute__((aligned(16)));\n\n#define MAIL_EMPTY 0x40000000\n#define MAIL_FULL  0x80000000\n\n#define MAIL_POWER    0x0 // Mailbox Channel 0: Power Management Interface\n#define MAIL_FB       0x1 // Mailbox Channel 1: Frame Buffer\n#define MAIL_VUART    0x2 // Mailbox Channel 2: Virtual UART\n#define MAIL_VCHIQ    0x3 // Mailbox Channel 3: VCHIQ Interface\n#define MAIL_LEDS     0x4 // Mailbox Channel 4: LEDs Interface\n#define MAIL_BUTTONS  0x5 // Mailbox Channel 5: Buttons Interface\n#define MAIL_TOUCH    0x6 // Mailbox Channel 6: Touchscreen Interface\n#define MAIL_COUNT    0x7 // Mailbox Channel 7: Counter\n#define MAIL_TAGS     0x8 // Mailbox Channel 8: Tags (ARM to VC)\n\nstatic void mailbox_write(u8 channel, u32 data) {\n    while(MBX()->status & MAIL_FULL) ;\n\n    MBX()->write = (data & 0xFFFFFFF0 | (channel & 0xF));\n}\n\nstatic u32 mailbox_read(u8 channel) {\n    while(true) {\n        while(MBX()->status & MAIL_EMPTY) ;\n\n        u32 data = MBX()->read;\n\n        u8 read_channel = (u8)(data & 0xF);\n\n        if (read_channel == channel) {\n            return data & 0xFFFFFFF0;\n        }\n    }\n}\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size) {\n    int buffer_size = tag_size + 12;\n\n    memcpy(&property_data[2], tag, tag_size);\n\n    property_buffer *buff = (property_buffer *)property_data;\n    buff->size = buffer_size;\n    buff->code = RPI_FIRMWARE_STATUS_REQUEST;\n    property_data[(tag_size + 12) / 4 - 1] = RPI_FIRMWARE_PROPERTY_END;\n\n    mailbox_write(MAIL_TAGS, (u32)(void *)property_data);\n\n    int result = mailbox_read(MAIL_TAGS);\n\n    memcpy(tag, property_data + 2, tag_size);\n\n    return true;\n}\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value) {\n    mailbox_generic mbx;\n    mbx.tag.id = tag_id;\n    mbx.tag.value_length = 0;\n    mbx.tag.buffer_size = sizeof(mailbox_generic) - sizeof(mailbox_tag);\n    mbx.id = id;\n    mbx.value = *value;\n\n    if (!mailbox_process((mailbox_tag *)&mbx, sizeof(mbx))) {\n        printf(\"FAILED TO PROCESS: %X\\n\", tag_id);\n        return false;\n    }\n\n    *value = mbx.value;\n\n    return true;\n}\n\nu32 mailbox_clock_rate(clock_type ct) {\n    mailbox_clock c;\n    c.tag.id = RPI_FIRMWARE_GET_CLOCK_RATE;\n    c.tag.value_length = 0;\n    c.tag.buffer_size = sizeof(c) - sizeof(c.tag);\n    c.id = ct;\n\n    mailbox_process((mailbox_tag *)&c, sizeof(c));\n\n    return c.rate;\n}\n\nbool mailbox_power_check(u32 type) {\n    mailbox_power p;\n    p.tag.id = RPI_FIRMWARE_GET_DOMAIN_STATE;\n    p.tag.value_length = 0;\n    p.tag.buffer_size = sizeof(p) - sizeof(p.tag);\n    p.id = type;\n    p.state = ~0;\n\n    mailbox_process((mailbox_tag *)&p, sizeof(p));\n\n    return p.state && p.state != ~0;\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/mem.c",
    "content": "#include <mem.h>\n\nvoid *memcpy(void *dest, const void *src, u32 n) {\n    //simple implementation...\n    u8 *bdest = (u8 *)dest;\n    u8 *bsrc = (u8 *)src;\n\n    for (int i=0; i<n; i++) {\n        bdest[i] = bsrc[i];\n    }\n\n    return dest;\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part13/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part13/src/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part13/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part14/.vscode/settings.json",
    "content": "{\n    \"files.associations\": {\n        \"led_display.h\": \"c\"\n    }\n}"
  },
  {
    "path": "rpi_bm/part14/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part14/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part14/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part14/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part14/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part14/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part14/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part14/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part14/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part14/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part14/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part14/include/mailbox.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef struct {\n    u32 id;\n    u32 buffer_size;\n    u32 value_length;\n} mailbox_tag;\n\ntypedef struct {\n    u32 size;\n    void *tag;\n} mailbox_command;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 value;\n} mailbox_generic;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 state;\n} mailbox_power;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 rate;\n} mailbox_clock;\n\ntypedef enum {\n    CT_EMMC = 1,\n    CT_UART = 2,\n    CT_ARM = 3,\n    CT_CORE = 4\n} clock_type;\n\n\n#define RPI_POWER_DOMAIN_I2C0\t\t0\n#define RPI_POWER_DOMAIN_I2C1\t\t1\n#define RPI_POWER_DOMAIN_I2C2\t\t2\n#define RPI_POWER_DOMAIN_VIDEO_SCALER\t3\n#define RPI_POWER_DOMAIN_VPU1\t\t4\n#define RPI_POWER_DOMAIN_HDMI\t\t5\n#define RPI_POWER_DOMAIN_USB\t\t6\n#define RPI_POWER_DOMAIN_VEC\t\t7\n#define RPI_POWER_DOMAIN_JPEG\t\t8\n#define RPI_POWER_DOMAIN_H264\t\t9\n#define RPI_POWER_DOMAIN_V3D\t\t10\n#define RPI_POWER_DOMAIN_ISP\t\t11\n#define RPI_POWER_DOMAIN_UNICAM0\t12\n#define RPI_POWER_DOMAIN_UNICAM1\t13\n#define RPI_POWER_DOMAIN_CCP2RX\t\t14\n#define RPI_POWER_DOMAIN_CSI2\t\t15\n#define RPI_POWER_DOMAIN_CPI\t\t16\n#define RPI_POWER_DOMAIN_DSI0\t\t17\n#define RPI_POWER_DOMAIN_DSI1\t\t18\n#define RPI_POWER_DOMAIN_TRANSPOSER\t19\n#define RPI_POWER_DOMAIN_CCP2TX\t\t20\n#define RPI_POWER_DOMAIN_CDP\t\t21\n#define RPI_POWER_DOMAIN_ARM\t\t22\n\n#define RPI_POWER_DOMAIN_COUNT\t\t23\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 0x80000000,\n\tRPI_FIRMWARE_STATUS_ERROR =   0x80000001,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END =                           0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,\n\n\tRPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,\n\tRPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,\n\n\tRPI_FIRMWARE_GET_BOARD_MODEL =                        0x00010001,\n\tRPI_FIRMWARE_GET_BOARD_REVISION =                     0x00010002,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS =                  0x00010003,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL =                       0x00010004,\n\tRPI_FIRMWARE_GET_ARM_MEMORY =                         0x00010005,\n\tRPI_FIRMWARE_GET_VC_MEMORY =                          0x00010006,\n\tRPI_FIRMWARE_GET_CLOCKS =                             0x00010007,\n\tRPI_FIRMWARE_GET_POWER_STATE =                        0x00020001,\n\tRPI_FIRMWARE_GET_TIMING =                             0x00020002,\n\tRPI_FIRMWARE_SET_POWER_STATE =                        0x00028001,\n\tRPI_FIRMWARE_GET_CLOCK_STATE =                        0x00030001,\n\tRPI_FIRMWARE_GET_CLOCK_RATE =                         0x00030002,\n\tRPI_FIRMWARE_GET_VOLTAGE =                            0x00030003,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE =                     0x00030004,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE =                        0x00030005,\n\tRPI_FIRMWARE_GET_TEMPERATURE =                        0x00030006,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE =                     0x00030007,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,\n\tRPI_FIRMWARE_GET_TURBO =                              0x00030009,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,\n\tRPI_FIRMWARE_GET_STC =                                0x0003000b,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,\n\tRPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,\n\tRPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,\n\tRPI_FIRMWARE_RELEASE_MEMORY =                         0x0003000f,\n\tRPI_FIRMWARE_EXECUTE_CODE =                           0x00030010,\n\tRPI_FIRMWARE_EXECUTE_QPU =                            0x00030011,\n\tRPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,\n\tRPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,\n\tRPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,\n\tRPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,\n\tRPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,\n\tRPI_FIRMWARE_SET_TURBO =                              0x00038009,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,\n\tRPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,\n\tRPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,\n\tRPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,\n\tRPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,\n\n\n\t/* Dispmanx TAGS */\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK =                      0x00040002,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT =  0x00040003,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT =   0x00040004,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH =                  0x00040005,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER =            0x00040006,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE =             0x00040007,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH =                  0x00040008,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH =                 0x00044005,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER =           0x00044006,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE =            0x00044007,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,\n\n\tRPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,\n\n\tRPI_FIRMWARE_GET_COMMAND_LINE =                       0x00050001,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS =                       0x00060001,\n};\n\nu32 mailbox_clock_rate(clock_type ct);\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value);\n\nbool mailbox_power_check(u32 type);\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size);\n"
  },
  {
    "path": "rpi_bm/part14/include/mem.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid *memcpy(void *dest, const void *src, u32 n);\n"
  },
  {
    "path": "rpi_bm/part14/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part14/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part14/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part14/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part14/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part14/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part14/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part14/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part14/include/video.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp);\nvoid video_draw_char(char c, u32 pox_x, u32 pos_y);\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y);\nvoid video_draw_pixel(u32 x, u32 y, u32 color);\n\n//comes from fontData.c\nu32 font_get_heigh();\nu32 font_get_width();\nbool font_get_pixel(char ch, u32 x, u32 y);\n"
  },
  {
    "path": "rpi_bm/part14/square_margin",
    "content": ""
  },
  {
    "path": "rpi_bm/part14/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part14/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part14/src/fontData.c",
    "content": "// lat1-16 console font (ISO-8859-1)\n//\n// Taken from the Linux \"kbd - Keyboard and Font Utilities\" package\n// by Andries Brouwer <aeb@cwi.nl>\n//    Alexey Gladkov <gladkov.alexey@gmail.com>\n//    Portions by Paul Gortmaker\n//    Licensed under GPLv2+\n//\n\n#include \"common.h\"\n\nstatic const unsigned width       = 8;\nstatic const unsigned height      = 16;\nstatic const unsigned extraheight = 3;\n\nstatic const unsigned char font_data[224][16] =\n{\n\t{0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0x7C, 0x16, 0x16, 0xD6, 0x7C, 0x10, 0x10, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6, 0xE6, 0xE6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x64, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00},\n\t{0x00, 0x30, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0xD0, 0xD6, 0x7C, 0x10, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x60, 0x60, 0xF0, 0x60, 0x60, 0x66, 0xF6, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC6, 0x7C, 0x6C, 0x6C, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0x99, 0xA5, 0xA1, 0xA5, 0x99, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA5, 0xA5, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x30, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF6, 0xC0, 0xC0, 0xC0, 0x00},\n\t{0x00, 0x00, 0x7F, 0xD6, 0xD6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x6C, 0x38, 0x00},\n\t{0x30, 0x70, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x6E, 0xDB, 0x06, 0x0C, 0x1F, 0x00, 0x00, 0x00},\n\t{0x70, 0xD8, 0x30, 0xD8, 0x76, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x38, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3E, 0x78, 0xD8, 0xD8, 0xFC, 0xD8, 0xD8, 0xD8, 0xD8, 0xDE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x0C, 0x66, 0x3C, 0x00},\n\t{0x60, 0x30, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x08, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x18, 0x3C, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0xF6, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC6, 0xCE, 0xCE, 0xDE, 0xF6, 0xE6, 0xE6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xCC, 0xC6, 0xC6, 0xC6, 0xD6, 0xDC, 0x80, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB, 0x1B, 0x7F, 0xD8, 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x6C, 0x38, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x78, 0x30, 0x78, 0x0C, 0x7E, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xCE, 0xDE, 0xFE, 0xF6, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00}\n};\n\n#define FIRSTCHAR\t0x21\n#define LASTCHAR\t0xFF\n#define CHARCOUNT\t(LASTCHAR - FIRSTCHAR + 1)\n\nu32 font_get_height() {\n    return height + extraheight;\n}\n\nu32 font_get_width() {\n    return width;\n}\n\nbool font_get_pixel(char ch, u32 x, u32 y) {\n    if (ch < FIRSTCHAR || ch > LASTCHAR) {\n        return false;\n    }\n\n    u32 index = ch - FIRSTCHAR;\n    if (y >= height) {\n        return false;\n    }\n\n    return font_data[index][y] & (0x80 >> x) ? true : false;\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part14/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part14/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n#include \"mailbox.h\"\n#include \"video.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"MAILBOX:\\n\");\n\n    printf(\"CORE CLOCK: %d\\n\", mailbox_clock_rate(CT_CORE));\n    printf(\"EMMC CLOCK: %d\\n\", mailbox_clock_rate(CT_EMMC));\n    printf(\"UART CLOCK: %d\\n\", mailbox_clock_rate(CT_UART));\n    printf(\"ARM  CLOCK: %d\\n\", mailbox_clock_rate(CT_ARM));\n\n    printf(\"I2C POWER STATE:\\n\");\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(2000);\n\n    for (int i=0; i<3; i++) {\n        u32 on = 1;\n        mailbox_generic_command(RPI_FIRMWARE_SET_DOMAIN_STATE, i, &on);\n\n        printf(\"SET POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(1000);\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    u32 max_temp = 0;\n\n    mailbox_generic_command(RPI_FIRMWARE_GET_MAX_TEMPERATURE, 0, &max_temp);\n\n    //Do video...\n\n    printf(\"Resolution 1824x984\\n\");\n    video_set_resolution(1824, 984, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 480x320\\n\");\n    video_set_resolution(480, 320, 32);\n\n    while(1) {\n        u32 cur_temp = 0;\n\n        mailbox_generic_command(RPI_FIRMWARE_GET_TEMPERATURE, 0, &cur_temp);\n\n        printf(\"Cur temp: %dC MAX: %dC\\n\", cur_temp / 1000, max_temp / 1000);\n\n        timer_sleep(1000);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part14/src/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part14/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part14/src/mailbox.c",
    "content": "#include <mailbox.h>\n#include <peripherals/base.h>\n#include \"printf.h\"\n#include <mem.h>\n\ntypedef struct {\n    reg32 read;\n    reg32 res[5];\n    reg32 status;\n    reg32 config;\n    reg32 write;\n} mailbox_regs;\n\nmailbox_regs *MBX() {\n    return (mailbox_regs *)(PBASE + 0xB880);\n}\n\ntypedef struct {\n    u32 size;\n    u32 code;\n    u8 tags[0];\n} property_buffer;\n\nstatic u32 property_data[8192] __attribute__((aligned(16)));\n\n#define MAIL_EMPTY 0x40000000\n#define MAIL_FULL  0x80000000\n\n#define MAIL_POWER    0x0 // Mailbox Channel 0: Power Management Interface\n#define MAIL_FB       0x1 // Mailbox Channel 1: Frame Buffer\n#define MAIL_VUART    0x2 // Mailbox Channel 2: Virtual UART\n#define MAIL_VCHIQ    0x3 // Mailbox Channel 3: VCHIQ Interface\n#define MAIL_LEDS     0x4 // Mailbox Channel 4: LEDs Interface\n#define MAIL_BUTTONS  0x5 // Mailbox Channel 5: Buttons Interface\n#define MAIL_TOUCH    0x6 // Mailbox Channel 6: Touchscreen Interface\n#define MAIL_COUNT    0x7 // Mailbox Channel 7: Counter\n#define MAIL_TAGS     0x8 // Mailbox Channel 8: Tags (ARM to VC)\n\nstatic void mailbox_write(u8 channel, u32 data) {\n    while(MBX()->status & MAIL_FULL) ;\n\n    MBX()->write = (data & 0xFFFFFFF0 | (channel & 0xF));\n}\n\nstatic u32 mailbox_read(u8 channel) {\n    while(true) {\n        while(MBX()->status & MAIL_EMPTY) ;\n\n        u32 data = MBX()->read;\n\n        u8 read_channel = (u8)(data & 0xF);\n\n        if (read_channel == channel) {\n            return data & 0xFFFFFFF0;\n        }\n    }\n}\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size) {\n    int buffer_size = tag_size + 12;\n\n    memcpy(&property_data[2], tag, tag_size);\n\n    property_buffer *buff = (property_buffer *)property_data;\n    buff->size = buffer_size;\n    buff->code = RPI_FIRMWARE_STATUS_REQUEST;\n    property_data[(tag_size + 12) / 4 - 1] = RPI_FIRMWARE_PROPERTY_END;\n\n    mailbox_write(MAIL_TAGS, (u32)(void *)property_data);\n\n    int result = mailbox_read(MAIL_TAGS);\n\n    memcpy(tag, property_data + 2, tag_size);\n\n    return true;\n}\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value) {\n    mailbox_generic mbx;\n    mbx.tag.id = tag_id;\n    mbx.tag.value_length = 0;\n    mbx.tag.buffer_size = sizeof(mailbox_generic) - sizeof(mailbox_tag);\n    mbx.id = id;\n    mbx.value = *value;\n\n    if (!mailbox_process((mailbox_tag *)&mbx, sizeof(mbx))) {\n        printf(\"FAILED TO PROCESS: %X\\n\", tag_id);\n        return false;\n    }\n\n    *value = mbx.value;\n\n    return true;\n}\n\nu32 mailbox_clock_rate(clock_type ct) {\n    mailbox_clock c;\n    c.tag.id = RPI_FIRMWARE_GET_CLOCK_RATE;\n    c.tag.value_length = 0;\n    c.tag.buffer_size = sizeof(c) - sizeof(c.tag);\n    c.id = ct;\n\n    mailbox_process((mailbox_tag *)&c, sizeof(c));\n\n    return c.rate;\n}\n\nbool mailbox_power_check(u32 type) {\n    mailbox_power p;\n    p.tag.id = RPI_FIRMWARE_GET_DOMAIN_STATE;\n    p.tag.value_length = 0;\n    p.tag.buffer_size = sizeof(p) - sizeof(p.tag);\n    p.id = type;\n    p.state = ~0;\n\n    mailbox_process((mailbox_tag *)&p, sizeof(p));\n\n    return p.state && p.state != ~0;\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/mem.c",
    "content": "#include <mem.h>\n\nvoid *memcpy(void *dest, const void *src, u32 n) {\n    //simple implementation...\n    u8 *bdest = (u8 *)dest;\n    u8 *bsrc = (u8 *)src;\n\n    for (int i=0; i<n; i++) {\n        bdest[i] = bsrc[i];\n    }\n\n    return dest;\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part14/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part14/src/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part14/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part14/src/video.c",
    "content": "#include \"mailbox.h\"\n#include \"printf.h\"\n#include \"timer.h\"\n#include \"video.h\"\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 xres;\n    u32 yres;\n} mailbox_fb_size;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 bpp;\n} mailbox_fb_depth;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 pitch;\n} mailbox_fb_pitch;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 base; \n    u32 screen_size;\n} mailbox_fb_buffer;\n\ntypedef struct {\n    mailbox_fb_size res;\n    mailbox_fb_size vres; //virtual resolution..\n    mailbox_fb_depth depth;\n    mailbox_fb_buffer buff;\n    mailbox_fb_pitch pitch;\n} mailbox_fb_request;\n\nstatic mailbox_fb_request fb_req;\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp) {\n    mailbox_fb_request req;\n\n    fb_req.res.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT;\n    fb_req.res.tag.buffer_size = 8;\n    fb_req.res.tag.value_length = 8;\n    fb_req.res.xres = xres;\n    fb_req.res.yres = yres;\n    \n    fb_req.vres.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT;\n    fb_req.vres.tag.buffer_size = 8;\n    fb_req.vres.tag.value_length = 8;\n    fb_req.vres.xres = xres;\n    fb_req.vres.yres = yres;\n\n    fb_req.depth.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH;\n    fb_req.depth.tag.buffer_size = 4;\n    fb_req.depth.tag.value_length = 4;\n    fb_req.depth.bpp = bpp;\n\n    fb_req.buff.tag.id = RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE;\n    fb_req.buff.tag.buffer_size = 8;\n    fb_req.buff.tag.value_length = 4;\n    fb_req.buff.base = 16;\n    fb_req.buff.screen_size = 0;\n\n    fb_req.pitch.tag.id = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;\n    fb_req.pitch.tag.buffer_size = 4;\n    fb_req.pitch.tag.value_length = 4;\n    fb_req.pitch.pitch = 0;\n\n    //sets the actual resolution\n    mailbox_process((mailbox_tag *)&fb_req, sizeof(fb_req));\n\n    printf(\"Allocated Buffer: %X - %d\\n\", fb_req.buff.base, fb_req.buff.screen_size);\n\n    timer_sleep(2000);\n    \n    //draw some text showing what resolution is...\n\n    char res[64];\n    sprintf(res, \"Resolution: %d x %d\", xres, yres);\n    video_draw_string(res, 20, 20); //upper left corner.\n\n    //draw a blue box with a red box inside it on the screen...\n\n    u32 square_margin = 100;  //blue margin around red center square...\n\n    u64 ms_start = timer_get_ticks() / 1000; //get ticks in ms before drawing on screen...\n\n    for (int y=0; y<yres; y++) {\n        if (y == 40) {\n            //redraw the \"Resolution\" string since it's been overwritten by the squares...\n            video_draw_string(res, 20, 20);\n        }\n\n        for (int x=0; x<xres; x++) {\n            //bool for should be draw the red square instead of the blue margin\n            bool draw_square = (y > square_margin && yres - y > square_margin) &&\n                (x > square_margin && xres - x > square_margin);\n            \n            video_draw_pixel(x, y, draw_square ? 0xAA0000FF : 0x0055BBFF);\n        }\n    }\n\n    u64 ms_end = timer_get_ticks() / 1000;\n    //ms ticks when done...\n\n    sprintf(res, \"Screen draw took %d ms (%d secs)\", (ms_end - ms_start), (ms_end - ms_start) / 1000);\n    video_draw_string(res, 20, 40);\n\n    printf(\"DONE\\n\");\n\n    timer_sleep(2000);\n}\n\nvoid video_draw_pixel(u32 x, u32 y, u32 color) {\n    volatile u8 *frame_buffer = (u8 *)((fb_req.buff.base | 0x40000000) & ~0xC0000000);\n\n    u32 pixel_offset = (x * (32 >> 3)) + (y * fb_req.pitch.pitch);\n\n    if (fb_req.depth.bpp == 32) {\n        u8 r = (color & 0xFF000000) >> 24;\n        u8 g = (color & 0xFF0000) >> 16;\n        u8 b = (color & 0xFF00) >> 8;\n        u8 a = color & 0xFF;\n\n        frame_buffer[pixel_offset++] = b;\n        frame_buffer[pixel_offset++] = g;\n        frame_buffer[pixel_offset++] = r;\n        frame_buffer[pixel_offset++] = a;\n    } else {\n        frame_buffer[pixel_offset++] = (color >> 8) & 0xFF;\n        frame_buffer[pixel_offset++] = (color & 0xFF);\n    }\n}\n\n#define TEXT_COLOR 0xFFFFFFFF\n#define BACK_COLOR 0x0055BBFF\n\nvoid video_draw_char(char c, u32 pos_x, u32 pos_y) {\n    for (int y=0; y<font_get_height(); y++) {\n        for (int x=0; x<font_get_width(); x++) {\n            bool yes = font_get_pixel(c, x, y); //gets whether there is a pixel for the font at this pos...\n            video_draw_pixel(pos_x + x, pos_y + y, yes ? TEXT_COLOR : BACK_COLOR);\n        }\n    }\n}\n\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y) {\n    for (int i=0; s[i] != 0; pos_x += (font_get_width() + 2), i++) {\n        video_draw_char(s[i], pos_x, pos_y);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part15/.vscode/settings.json",
    "content": "{\n    \"files.associations\": {\n        \"led_display.h\": \"c\"\n    }\n}"
  },
  {
    "path": "rpi_bm/part15/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part15/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part15/config.txt",
    "content": "arm_64bit=1\n#uart_2ndstage=1\ndtoverlay=miniuart-bt\n#dtoverlay=vc4-kms-v3d\n#gpu_mem=128\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part15/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part15/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part15/include/dma.h",
    "content": "#pragma once\n\n#include <peripherals/dma.h>\n\ntypedef struct {\n    u32 channel;\n    dma_control_block *block;\n    bool status;\n} dma_channel;\n\ntypedef enum {\n    CT_NONE = -1,\n    CT_NORMAL = 0x81\n} dma_channel_type;\n\ndma_channel *dma_open_channel(u32 channel);\nvoid dma_close_channel(dma_channel *channel);\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length);\nvoid dma_start(dma_channel *channel);\nbool dma_wait(dma_channel *channel);\n\n"
  },
  {
    "path": "rpi_bm/part15/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part15/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part15/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part15/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part15/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part15/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part15/include/mailbox.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef struct {\n    u32 id;\n    u32 buffer_size;\n    u32 value_length;\n} mailbox_tag;\n\ntypedef struct {\n    u32 size;\n    void *tag;\n} mailbox_command;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 value;\n} mailbox_generic;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 state;\n} mailbox_power;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 rate;\n} mailbox_clock;\n\ntypedef enum {\n    CT_EMMC = 1,\n    CT_UART = 2,\n    CT_ARM = 3,\n    CT_CORE = 4\n} clock_type;\n\n\n#define RPI_POWER_DOMAIN_I2C0\t\t0\n#define RPI_POWER_DOMAIN_I2C1\t\t1\n#define RPI_POWER_DOMAIN_I2C2\t\t2\n#define RPI_POWER_DOMAIN_VIDEO_SCALER\t3\n#define RPI_POWER_DOMAIN_VPU1\t\t4\n#define RPI_POWER_DOMAIN_HDMI\t\t5\n#define RPI_POWER_DOMAIN_USB\t\t6\n#define RPI_POWER_DOMAIN_VEC\t\t7\n#define RPI_POWER_DOMAIN_JPEG\t\t8\n#define RPI_POWER_DOMAIN_H264\t\t9\n#define RPI_POWER_DOMAIN_V3D\t\t10\n#define RPI_POWER_DOMAIN_ISP\t\t11\n#define RPI_POWER_DOMAIN_UNICAM0\t12\n#define RPI_POWER_DOMAIN_UNICAM1\t13\n#define RPI_POWER_DOMAIN_CCP2RX\t\t14\n#define RPI_POWER_DOMAIN_CSI2\t\t15\n#define RPI_POWER_DOMAIN_CPI\t\t16\n#define RPI_POWER_DOMAIN_DSI0\t\t17\n#define RPI_POWER_DOMAIN_DSI1\t\t18\n#define RPI_POWER_DOMAIN_TRANSPOSER\t19\n#define RPI_POWER_DOMAIN_CCP2TX\t\t20\n#define RPI_POWER_DOMAIN_CDP\t\t21\n#define RPI_POWER_DOMAIN_ARM\t\t22\n\n#define RPI_POWER_DOMAIN_COUNT\t\t23\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 0x80000000,\n\tRPI_FIRMWARE_STATUS_ERROR =   0x80000001,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END =                           0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,\n\n\tRPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,\n\tRPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,\n\n\tRPI_FIRMWARE_GET_BOARD_MODEL =                        0x00010001,\n\tRPI_FIRMWARE_GET_BOARD_REVISION =                     0x00010002,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS =                  0x00010003,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL =                       0x00010004,\n\tRPI_FIRMWARE_GET_ARM_MEMORY =                         0x00010005,\n\tRPI_FIRMWARE_GET_VC_MEMORY =                          0x00010006,\n\tRPI_FIRMWARE_GET_CLOCKS =                             0x00010007,\n\tRPI_FIRMWARE_GET_POWER_STATE =                        0x00020001,\n\tRPI_FIRMWARE_GET_TIMING =                             0x00020002,\n\tRPI_FIRMWARE_SET_POWER_STATE =                        0x00028001,\n\tRPI_FIRMWARE_GET_CLOCK_STATE =                        0x00030001,\n\tRPI_FIRMWARE_GET_CLOCK_RATE =                         0x00030002,\n\tRPI_FIRMWARE_GET_VOLTAGE =                            0x00030003,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE =                     0x00030004,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE =                        0x00030005,\n\tRPI_FIRMWARE_GET_TEMPERATURE =                        0x00030006,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE =                     0x00030007,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,\n\tRPI_FIRMWARE_GET_TURBO =                              0x00030009,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,\n\tRPI_FIRMWARE_GET_STC =                                0x0003000b,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,\n\tRPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,\n\tRPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,\n\tRPI_FIRMWARE_RELEASE_MEMORY =                         0x0003000f,\n\tRPI_FIRMWARE_EXECUTE_CODE =                           0x00030010,\n\tRPI_FIRMWARE_EXECUTE_QPU =                            0x00030011,\n\tRPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,\n\tRPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,\n\tRPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,\n\tRPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,\n\tRPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,\n\tRPI_FIRMWARE_SET_TURBO =                              0x00038009,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,\n\tRPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,\n\tRPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,\n\tRPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,\n\tRPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,\n\n\n\t/* Dispmanx TAGS */\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK =                      0x00040002,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT =  0x00040003,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT =   0x00040004,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH =                  0x00040005,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER =            0x00040006,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE =             0x00040007,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH =                  0x00040008,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH =                 0x00044005,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER =           0x00044006,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE =            0x00044007,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,\n\n\tRPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,\n\n\tRPI_FIRMWARE_GET_COMMAND_LINE =                       0x00050001,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS =                       0x00060001,\n};\n\nu32 mailbox_clock_rate(clock_type ct);\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value);\n\nbool mailbox_power_check(u32 type);\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size);\n"
  },
  {
    "path": "rpi_bm/part15/include/mem.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid *memcpy(void *dest, const void *src, u32 n);\n\n#define GPU_CACHED_BASE\t\t0x40000000\n#define GPU_UNCACHED_BASE\t0xC0000000\n#define GPU_MEM_BASE\tGPU_UNCACHED_BASE\n\n#define BUS_ADDRESS(addr)\t(((addr) & ~0xC0000000) | GPU_MEM_BASE)\n"
  },
  {
    "path": "rpi_bm/part15/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part15/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/dma.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\ntypedef struct {\n    u32 transfer_info;\n    u32 src_addr;\n    u32 dest_addr;\n    u32 transfer_length;\n    u32 mode_2d_stride;\n    u32 next_block_addr;\n    u32 res[2];\n} dma_control_block;\n\ntypedef struct {\n    u32 control;\n    u32 control_block_addr;\n    dma_control_block block;\n} dma_channel_regs;\n\n#define REGS_DMA(channel) ((dma_channel_regs *)(PBASE + 0x00007000 + (channel * 0x100)))\n\n#define REGS_DMA_INT_STATUS *((volatile u32 *)(PBASE + 0x00007FE0))\n#define REGS_DMA_ENABLE *((volatile u32 *)(PBASE + 0x00007FF0))\n\n//defines for differnet bits of the control and transfer info\n\n#define CS_RESET\t\t\t(1 << 31)\n#define CS_ABORT\t\t\t(1 << 30)\n#define CS_WAIT_FOR_OUTSTANDING_WRITES\t(1 << 28)\n#define CS_PANIC_PRIORITY_SHIFT\t\t20\n    #define DEFAULT_PANIC_PRIORITY\t\t15\n#define CS_PRIORITY_SHIFT\t\t16\n    #define DEFAULT_PRIORITY\t\t1\n#define CS_ERROR\t\t\t(1 << 8)\n#define CS_INT\t\t\t\t(1 << 2)\n#define CS_END\t\t\t\t(1 << 1)\n#define CS_ACTIVE\t\t\t(1 << 0)\n\n\n#define TI_PERMAP_SHIFT\t\t\t16\n#define TI_BURST_LENGTH_SHIFT\t\t12\n#define DEFAULT_BURST_LENGTH\t\t0\n#define TI_SRC_IGNORE\t\t\t(1 << 11)\n#define TI_SRC_DREQ\t\t\t(1 << 10)\n#define TI_SRC_WIDTH\t\t\t(1 << 9)\n#define TI_SRC_INC\t\t\t(1 << 8)\n#define TI_DEST_DREQ\t\t\t(1 << 6)\n#define TI_DEST_WIDTH\t\t\t(1 << 5)\n#define TI_DEST_INC\t\t\t(1 << 4)\n#define TI_WAIT_RESP\t\t\t(1 << 3)\n#define TI_TDMODE\t\t\t(1 << 1)\n#define TI_INTEN\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part15/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part15/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part15/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part15/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part15/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part15/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part15/include/video.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp);\nvoid video_draw_char(char c, u32 pox_x, u32 pos_y);\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y);\nvoid video_draw_pixel(u32 x, u32 y, u32 color);\nvoid video_clear();\nvoid video_dma();\n\n//comes from fontData.c\nu32 font_get_height();\nu32 font_get_width();\nbool font_get_pixel(char ch, u32 x, u32 y);\n"
  },
  {
    "path": "rpi_bm/part15/square_margin",
    "content": ""
  },
  {
    "path": "rpi_bm/part15/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part15/src/dma.c",
    "content": "#include <dma.h>\n#include <mem.h>\n#include <mm.h>\n#include <timer.h>\n#include <printf.h>\n\ndma_channel channels[15];\n\nstatic u16 channel_map = 0x1F35;\n\nstatic u16 allocate_channel(u32 channel) {\n    if (!(channel & ~0x0F)) {\n        if (channel_map & (1 << channel)) {\n            channel_map &= ~(1 << channel);\n            return channel;\n        }\n\n        return -1;\n    }\n\n    u16 i = channel == CT_NORMAL ? 6 : 12;\n\n    for (; i >= 0; i--) {\n        if (channel_map & (1 << i)) {\n            channel_map &= ~(1 << i);\n            return i;\n        }\n    }\n\n    return CT_NONE;\n}\n\ndma_channel *dma_open_channel(u32 channel) {\n    u32 _channel = allocate_channel(channel);\n\n    if (_channel == CT_NONE) {\n        printf(\"INVALID CHANNEL! %d\\n\", channel);\n        return 0;\n    }\n\n    dma_channel *dma = (dma_channel *)&channels[_channel];\n    dma->channel = _channel;\n\n    //LOW_MEMORY = bottom of RAM...  Hack for now since no allocate function\n    dma->block = (dma_control_block *)((LOW_MEMORY + 31) & ~31);\n    dma->block->res[0] = 0;\n    dma->block->res[1] = 0;\n\n    REGS_DMA_ENABLE |= (1 << dma->channel);\n    timer_sleep(3);\n    REGS_DMA(dma->channel)->control |= CS_RESET;\n\n    while(REGS_DMA(dma->channel)->control & CS_RESET) ;\n\n    return dma;\n}\n\nvoid dma_close_channel(dma_channel *channel) {\n    channel_map |= (1 << channel->channel);\n}\n\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length) {\n    channel->block->transfer_info = (burst_length << TI_BURST_LENGTH_SHIFT)\n\t\t\t\t\t\t    | TI_SRC_WIDTH\n\t\t\t\t\t\t    | TI_SRC_INC\n\t\t\t\t\t\t    | TI_DEST_WIDTH\n\t\t\t\t\t\t    | TI_DEST_INC;\n\n    channel->block->src_addr = (u32)src;\n    channel->block->dest_addr = (u32)dest;\n    channel->block->transfer_length = length;\n    channel->block->mode_2d_stride = 0;\n    channel->block->next_block_addr = 0;\n}\n\nvoid dma_start(dma_channel *channel) {\n    REGS_DMA(channel->channel)->control_block_addr = BUS_ADDRESS((u32)channel->block);\n\n    REGS_DMA(channel->channel)->control = CS_WAIT_FOR_OUTSTANDING_WRITES\n\t\t\t\t\t      | (DEFAULT_PANIC_PRIORITY << CS_PANIC_PRIORITY_SHIFT)\n\t\t\t\t\t      | (DEFAULT_PRIORITY << CS_PRIORITY_SHIFT)\n\t\t\t\t\t      | CS_ACTIVE;\n}\n\nbool dma_wait(dma_channel *channel) {\n    while(REGS_DMA(channel->channel)->control & CS_ACTIVE) ;\n\n    channel->status = REGS_DMA(channel->channel)->control & CS_ERROR ? false : true;\n\n    return channel->status;\n\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part15/src/fontData.c",
    "content": "// lat1-16 console font (ISO-8859-1)\n//\n// Taken from the Linux \"kbd - Keyboard and Font Utilities\" package\n// by Andries Brouwer <aeb@cwi.nl>\n//    Alexey Gladkov <gladkov.alexey@gmail.com>\n//    Portions by Paul Gortmaker\n//    Licensed under GPLv2+\n//\n\n#include \"common.h\"\n\nstatic const unsigned width       = 8;\nstatic const unsigned height      = 16;\nstatic const unsigned extraheight = 3;\n\nstatic const unsigned char font_data[224][16] =\n{\n\t{0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0x7C, 0x16, 0x16, 0xD6, 0x7C, 0x10, 0x10, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6, 0xE6, 0xE6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x64, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00},\n\t{0x00, 0x30, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0xD0, 0xD6, 0x7C, 0x10, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x60, 0x60, 0xF0, 0x60, 0x60, 0x66, 0xF6, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC6, 0x7C, 0x6C, 0x6C, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0x99, 0xA5, 0xA1, 0xA5, 0x99, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA5, 0xA5, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x30, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF6, 0xC0, 0xC0, 0xC0, 0x00},\n\t{0x00, 0x00, 0x7F, 0xD6, 0xD6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x6C, 0x38, 0x00},\n\t{0x30, 0x70, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x6E, 0xDB, 0x06, 0x0C, 0x1F, 0x00, 0x00, 0x00},\n\t{0x70, 0xD8, 0x30, 0xD8, 0x76, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x38, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3E, 0x78, 0xD8, 0xD8, 0xFC, 0xD8, 0xD8, 0xD8, 0xD8, 0xDE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x0C, 0x66, 0x3C, 0x00},\n\t{0x60, 0x30, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x08, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x18, 0x3C, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0xF6, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC6, 0xCE, 0xCE, 0xDE, 0xF6, 0xE6, 0xE6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xCC, 0xC6, 0xC6, 0xC6, 0xD6, 0xDC, 0x80, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB, 0x1B, 0x7F, 0xD8, 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x6C, 0x38, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x78, 0x30, 0x78, 0x0C, 0x7E, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xCE, 0xDE, 0xFE, 0xF6, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00}\n};\n\n#define FIRSTCHAR\t0x21\n#define LASTCHAR\t0xFF\n#define CHARCOUNT\t(LASTCHAR - FIRSTCHAR + 1)\n\nu32 font_get_height() {\n    return height + extraheight;\n}\n\nu32 font_get_width() {\n    return width;\n}\n\nbool font_get_pixel(char ch, u32 x, u32 y) {\n    if (ch < FIRSTCHAR || ch > LASTCHAR) {\n        return false;\n    }\n\n    u32 index = ch - FIRSTCHAR;\n    if (y >= height) {\n        return false;\n    }\n\n    return font_data[index][y] & (0x80 >> x) ? true : false;\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part15/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part15/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n#include \"mailbox.h\"\n#include \"video.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"MAILBOX:\\n\");\n\n    printf(\"CORE CLOCK: %d\\n\", mailbox_clock_rate(CT_CORE));\n    printf(\"EMMC CLOCK: %d\\n\", mailbox_clock_rate(CT_EMMC));\n    printf(\"UART CLOCK: %d\\n\", mailbox_clock_rate(CT_UART));\n    printf(\"ARM  CLOCK: %d\\n\", mailbox_clock_rate(CT_ARM));\n\n    printf(\"I2C POWER STATE:\\n\");\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(2000);\n\n    for (int i=0; i<3; i++) {\n        u32 on = 1;\n        mailbox_generic_command(RPI_FIRMWARE_SET_DOMAIN_STATE, i, &on);\n\n        printf(\"SET POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(1000);\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    u32 max_temp = 0;\n\n    mailbox_generic_command(RPI_FIRMWARE_GET_MAX_TEMPERATURE, 0, &max_temp);\n\n    //Do video...\n    video_init();\n\n    printf(\"NO DMA...\\n\");\n    video_set_dma(false);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    printf(\"YES DMA...\\n\");\n    video_set_dma(true);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    while(1) {\n        u32 cur_temp = 0;\n\n        mailbox_generic_command(RPI_FIRMWARE_GET_TEMPERATURE, 0, &cur_temp);\n\n        printf(\"Cur temp: %dC MAX: %dC\\n\", cur_temp / 1000, max_temp / 1000);\n\n        timer_sleep(1000);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part15/src/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part15/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part15/src/mailbox.c",
    "content": "#include <mailbox.h>\n#include <peripherals/base.h>\n#include \"printf.h\"\n#include <mem.h>\n\ntypedef struct {\n    reg32 read;\n    reg32 res[5];\n    reg32 status;\n    reg32 config;\n    reg32 write;\n} mailbox_regs;\n\nmailbox_regs *MBX() {\n    return (mailbox_regs *)(PBASE + 0xB880);\n}\n\ntypedef struct {\n    u32 size;\n    u32 code;\n    u8 tags[0];\n} property_buffer;\n\nstatic u32 property_data[8192] __attribute__((aligned(16)));\n\n#define MAIL_EMPTY 0x40000000\n#define MAIL_FULL  0x80000000\n\n#define MAIL_POWER    0x0 // Mailbox Channel 0: Power Management Interface\n#define MAIL_FB       0x1 // Mailbox Channel 1: Frame Buffer\n#define MAIL_VUART    0x2 // Mailbox Channel 2: Virtual UART\n#define MAIL_VCHIQ    0x3 // Mailbox Channel 3: VCHIQ Interface\n#define MAIL_LEDS     0x4 // Mailbox Channel 4: LEDs Interface\n#define MAIL_BUTTONS  0x5 // Mailbox Channel 5: Buttons Interface\n#define MAIL_TOUCH    0x6 // Mailbox Channel 6: Touchscreen Interface\n#define MAIL_COUNT    0x7 // Mailbox Channel 7: Counter\n#define MAIL_TAGS     0x8 // Mailbox Channel 8: Tags (ARM to VC)\n\nstatic void mailbox_write(u8 channel, u32 data) {\n    while(MBX()->status & MAIL_FULL) ;\n\n    MBX()->write = (data & 0xFFFFFFF0 | (channel & 0xF));\n}\n\nstatic u32 mailbox_read(u8 channel) {\n    while(true) {\n        while(MBX()->status & MAIL_EMPTY) ;\n\n        u32 data = MBX()->read;\n\n        u8 read_channel = (u8)(data & 0xF);\n\n        if (read_channel == channel) {\n            return data & 0xFFFFFFF0;\n        }\n    }\n}\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size) {\n    int buffer_size = tag_size + 12;\n\n    memcpy(&property_data[2], tag, tag_size);\n\n    property_buffer *buff = (property_buffer *)property_data;\n    buff->size = buffer_size;\n    buff->code = RPI_FIRMWARE_STATUS_REQUEST;\n    property_data[(tag_size + 12) / 4 - 1] = RPI_FIRMWARE_PROPERTY_END;\n\n    mailbox_write(MAIL_TAGS, (u32)(void *)property_data);\n\n    int result = mailbox_read(MAIL_TAGS);\n\n    memcpy(tag, property_data + 2, tag_size);\n\n    return true;\n}\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value) {\n    mailbox_generic mbx;\n    mbx.tag.id = tag_id;\n    mbx.tag.value_length = 0;\n    mbx.tag.buffer_size = sizeof(mailbox_generic) - sizeof(mailbox_tag);\n    mbx.id = id;\n    mbx.value = *value;\n\n    if (!mailbox_process((mailbox_tag *)&mbx, sizeof(mbx))) {\n        printf(\"FAILED TO PROCESS: %X\\n\", tag_id);\n        return false;\n    }\n\n    *value = mbx.value;\n\n    return true;\n}\n\nu32 mailbox_clock_rate(clock_type ct) {\n    mailbox_clock c;\n    c.tag.id = RPI_FIRMWARE_GET_CLOCK_RATE;\n    c.tag.value_length = 0;\n    c.tag.buffer_size = sizeof(c) - sizeof(c.tag);\n    c.id = ct;\n\n    mailbox_process((mailbox_tag *)&c, sizeof(c));\n\n    return c.rate;\n}\n\nbool mailbox_power_check(u32 type) {\n    mailbox_power p;\n    p.tag.id = RPI_FIRMWARE_GET_DOMAIN_STATE;\n    p.tag.value_length = 0;\n    p.tag.buffer_size = sizeof(p) - sizeof(p.tag);\n    p.id = type;\n    p.state = ~0;\n\n    mailbox_process((mailbox_tag *)&p, sizeof(p));\n\n    return p.state && p.state != ~0;\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/mem.c",
    "content": "#include <mem.h>\n\nvoid *memcpy(void *dest, const void *src, u32 n) {\n    //simple implementation...\n    u8 *bdest = (u8 *)dest;\n    u8 *bsrc = (u8 *)src;\n\n    for (int i=0; i<n; i++) {\n        bdest[i] = bsrc[i];\n    }\n\n    return dest;\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part15/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part15/src/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part15/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part15/src/video.c",
    "content": "#include \"mailbox.h\"\n#include \"printf.h\"\n#include \"timer.h\"\n#include \"video.h\"\n#include \"dma.h\"\n#include \"mm.h\"\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 xres;\n    u32 yres;\n} mailbox_fb_size;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 bpp;\n} mailbox_fb_depth;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 pitch;\n} mailbox_fb_pitch;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 base; \n    u32 screen_size;\n} mailbox_fb_buffer;\n\ntypedef struct {\n    mailbox_fb_size res;\n    mailbox_fb_size vres; //virtual resolution..\n    mailbox_fb_depth depth;\n    mailbox_fb_buffer buff;\n    mailbox_fb_pitch pitch;\n} mailbox_fb_request;\n\nstatic mailbox_fb_request fb_req;\n\nstatic dma_channel *dma;\nstatic u8 *vid_buffer;\n\nstatic u32 *bg32_buffer;\nstatic u32 *bg8_buffer;\n\n#define TEXT_COLOR 0xFFFFFFFF\n#define BACK_COLOR 0xFF0055BB\n\n#define MB (1024 * 1024)\n\n//hack for not having an allocate function yet...\n#define BG32_MEM_LOCATION (LOW_MEMORY + (10 * MB))\n#define BG8_MEM_LOCATION (BG32_MEM_LOCATION + (10 * MB))\n#define VB_MEM_LOCATION (BG8_MEM_LOCATION + (4 * MB))\n\nvoid video_init() {\n    dma = dma_open_channel(CT_NORMAL);\n    vid_buffer = (u8 *)VB_MEM_LOCATION;\n\n    printf(\"DMA CHANNEL: %d\\n\", dma->channel);\n    printf(\"VID BUFF: %X\\n\", vid_buffer);\n\n    bg32_buffer = (u32 *)BG32_MEM_LOCATION;\n    bg8_buffer = (u32 *)BG8_MEM_LOCATION;\n\n    for (int i=0; i<(10 * MB) / 4; i++) {\n        bg32_buffer[i] = BACK_COLOR;\n    }\n\n    for (int i=0; i<(4 * MB) / 4; i++) {\n        bg8_buffer[i] = 0x01010101;\n    }\n}\n\nstatic bool use_dma = false;\n\n#define BUS_ADDR(x) (((u64)x | 0x40000000) & ~0xC0000000)\n\n#define FRAMEBUFFER ((volatile u8 *)BUS_ADDR(fb_req.buff.base))\n#define DMABUFFER ((volatile u8 *)vid_buffer)\n#define DRAWBUFFER (use_dma ? DMABUFFER : FRAMEBUFFER)\n\nvoid video_set_dma(bool b) {\n    use_dma = b;\n}\n\nvoid do_dma(void *dest, void *src, u32 total) {\n\n    u32 ms_start = timer_get_ticks() / 1000;\n\n    u32 start = 0;\n\n    while(total > 0) {\n        int num_bytes = total;\n\n        if (num_bytes > 0xFFFFFF) {\n            num_bytes = 0xFFFFFF;\n        }\n        \n        dma_setup_mem_copy(dma, dest + start, src + start, num_bytes, 2);\n        \n        dma_start(dma);\n\n        dma_wait(dma);\n\n        start += num_bytes;\n        total -= num_bytes;\n    }\n\n    u32 ms_end = timer_get_ticks() / 1000;\n    //ms ticks when done...\n\n    printf(\"DMA took %d ms\\n\", (ms_end - ms_start));\n}\n\nvoid video_dma() {\n    do_dma(FRAMEBUFFER, DMABUFFER, fb_req.buff.screen_size);\n}\n\ntypedef struct  {\n    mailbox_tag tag;\n    u32 offset;\n    u32 num_entries;\n    u32 entries[8];\n} mailbox_set_palette;\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp) {\n\n    fb_req.res.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT;\n    fb_req.res.tag.buffer_size = 8;\n    fb_req.res.tag.value_length = 8;\n    fb_req.res.xres = xres;\n    fb_req.res.yres = yres;\n    \n    fb_req.vres.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT;\n    fb_req.vres.tag.buffer_size = 8;\n    fb_req.vres.tag.value_length = 8;\n    fb_req.vres.xres = xres;\n    fb_req.vres.yres = yres;\n\n    fb_req.depth.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH;\n    fb_req.depth.tag.buffer_size = 4;\n    fb_req.depth.tag.value_length = 4;\n    fb_req.depth.bpp = bpp;\n\n    fb_req.buff.tag.id = RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE;\n    fb_req.buff.tag.buffer_size = 8;\n    fb_req.buff.tag.value_length = 4;\n    fb_req.buff.base = 16;\n    fb_req.buff.screen_size = 0;\n\n    fb_req.pitch.tag.id = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;\n    fb_req.pitch.tag.buffer_size = 4;\n    fb_req.pitch.tag.value_length = 4;\n    fb_req.pitch.pitch = 0;\n\n    mailbox_set_palette palette;\n    palette.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE;\n    palette.tag.buffer_size = 40;\n    palette.tag.value_length = 0;\n    palette.offset = 0;\n    palette.num_entries = 8;\n    palette.entries[0] = 0;\n    palette.entries[1] = 0xFFBB5500;\n    palette.entries[2] = 0xFFFFFFFF;\n    palette.entries[3] = 0xFFFF0000;\n    palette.entries[4] = 0xFF00FF00;\n    palette.entries[5] = 0xFF0000FF;\n    palette.entries[6] = 0x55555555;\n    palette.entries[7] = 0xCCCCCCCC;\n\n    //sets the actual resolution\n    mailbox_process((mailbox_tag *)&fb_req, sizeof(fb_req));\n\n    printf(\"Allocated Buffer: %X - %d - %d\\n\", fb_req.buff.base, fb_req.buff.screen_size, fb_req.depth.bpp);\n\n    if (bpp == 8) {\n        mailbox_process((mailbox_tag *)&palette, sizeof(palette));\n    }\n\n    //draw some text showing what resolution is...\n\n    char res[64];\n\n    for (int i=0; i<4; i++) {\n        u64 ms_start = timer_get_ticks() / 1000; //get ticks in ms before drawing on screen...\n\n        if (fb_req.depth.bpp == 32) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg32_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg32_buffer, fb_req.buff.screen_size);\n            }\n        }\n        else if (fb_req.depth.bpp == 8) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg8_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg8_buffer, fb_req.buff.screen_size);\n            }\n        }\n\n        u64 ms_end = timer_get_ticks() / 1000;\n\n        u32 ms_buff = ms_end - ms_start;\n\n        u64 ms_before_draw = ms_end;\n        \n        if (use_dma) {\n            video_dma();\n        }\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"Resolution: %d x %d x %d\", xres, yres, bpp);\n        video_draw_string(res, 20, 20 + (i * 20));\n\n        sprintf(res, \"BG write took: %d ms\\n\", ms_buff);\n        video_draw_string(res, 20, 40 + (i * 20));\n\n        sprintf(res, \"DMA BG draw took: %d ms\\n\", ms_end - ms_before_draw);\n        video_draw_string(res, 20, 60 + (i * 20));\n\n        sprintf(res, \"Video Drawing Done!\");\n        video_draw_string(res, 20, 80 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"FRAME DRAW TIME: %d ms\\n\", ms_end - ms_start);\n        video_draw_string(res, 20, 100 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        timer_sleep(2000);\n    }\n}\n\nvoid video_draw_pixel(u32 x, u32 y, u32 color) {\n\n    u32 pixel_offset = (x * (fb_req.depth.bpp >> 3)) + (y * fb_req.pitch.pitch);\n\n    if (fb_req.depth.bpp == 32) {\n        u32 *buff = (u32 *)DRAWBUFFER;\n        buff[pixel_offset / 4] = color;\n    } else if (fb_req.depth.bpp == 16) {\n        u16 *buff = (u16 *)DRAWBUFFER;\n        buff[pixel_offset / 2] = color & 0xFFFF;\n    } else {\n        DRAWBUFFER[pixel_offset++] = (color & 0xFF);\n    }\n\n}\n\nvoid video_draw_char(char c, u32 pos_x, u32 pos_y) {\n    u32 text_color = TEXT_COLOR;\n    u32 back_color = BACK_COLOR;\n\n    if (fb_req.depth.bpp == 8) {\n        text_color = 2;\n        back_color = 1;\n    }\n\n    for (int y=0; y<font_get_height(); y++) {\n        for (int x=0; x<font_get_width(); x++) {\n            bool yes = font_get_pixel(c, x, y); //gets whether there is a pixel for the font at this pos...\n            video_draw_pixel(pos_x + x, pos_y + y, yes ? text_color : back_color);\n        }\n    }\n}\n\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y) {\n    for (int i=0; s[i] != 0; pos_x += (font_get_width() + 2), i++) {\n        video_draw_char(s[i], pos_x, pos_y);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part16/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nINIT_MMU ?= 1\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -DINIT_MMU=$(INIT_MMU) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part16/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part16/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part16/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part16/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n\n#define PACKED __attribute((__packed__))\n"
  },
  {
    "path": "rpi_bm/part16/include/dma.h",
    "content": "#pragma once\n\n#include <peripherals/dma.h>\n\ntypedef struct {\n    u32 channel;\n    dma_control_block *block;\n    bool status;\n} dma_channel;\n\ntypedef enum {\n    CT_NONE = -1,\n    CT_NORMAL = 0x81\n} dma_channel_type;\n\ndma_channel *dma_open_channel(u32 channel);\nvoid dma_close_channel(dma_channel *channel);\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length);\nvoid dma_start(dma_channel *channel);\nbool dma_wait(dma_channel *channel);\n\n"
  },
  {
    "path": "rpi_bm/part16/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part16/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part16/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part16/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part16/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part16/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part16/include/mailbox.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef struct {\n    u32 id;\n    u32 buffer_size;\n    u32 value_length;\n} mailbox_tag;\n\ntypedef struct {\n    u32 size;\n    void *tag;\n} mailbox_command;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 value;\n} mailbox_generic;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 state;\n} mailbox_power;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 rate;\n} mailbox_clock;\n\ntypedef enum {\n    CT_EMMC = 1,\n    CT_UART = 2,\n    CT_ARM = 3,\n    CT_CORE = 4\n} clock_type;\n\n\n#define RPI_POWER_DOMAIN_I2C0\t\t0\n#define RPI_POWER_DOMAIN_I2C1\t\t1\n#define RPI_POWER_DOMAIN_I2C2\t\t2\n#define RPI_POWER_DOMAIN_VIDEO_SCALER\t3\n#define RPI_POWER_DOMAIN_VPU1\t\t4\n#define RPI_POWER_DOMAIN_HDMI\t\t5\n#define RPI_POWER_DOMAIN_USB\t\t6\n#define RPI_POWER_DOMAIN_VEC\t\t7\n#define RPI_POWER_DOMAIN_JPEG\t\t8\n#define RPI_POWER_DOMAIN_H264\t\t9\n#define RPI_POWER_DOMAIN_V3D\t\t10\n#define RPI_POWER_DOMAIN_ISP\t\t11\n#define RPI_POWER_DOMAIN_UNICAM0\t12\n#define RPI_POWER_DOMAIN_UNICAM1\t13\n#define RPI_POWER_DOMAIN_CCP2RX\t\t14\n#define RPI_POWER_DOMAIN_CSI2\t\t15\n#define RPI_POWER_DOMAIN_CPI\t\t16\n#define RPI_POWER_DOMAIN_DSI0\t\t17\n#define RPI_POWER_DOMAIN_DSI1\t\t18\n#define RPI_POWER_DOMAIN_TRANSPOSER\t19\n#define RPI_POWER_DOMAIN_CCP2TX\t\t20\n#define RPI_POWER_DOMAIN_CDP\t\t21\n#define RPI_POWER_DOMAIN_ARM\t\t22\n\n#define RPI_POWER_DOMAIN_COUNT\t\t23\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 0x80000000,\n\tRPI_FIRMWARE_STATUS_ERROR =   0x80000001,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END =                           0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,\n\n\tRPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,\n\tRPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,\n\n\tRPI_FIRMWARE_GET_BOARD_MODEL =                        0x00010001,\n\tRPI_FIRMWARE_GET_BOARD_REVISION =                     0x00010002,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS =                  0x00010003,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL =                       0x00010004,\n\tRPI_FIRMWARE_GET_ARM_MEMORY =                         0x00010005,\n\tRPI_FIRMWARE_GET_VC_MEMORY =                          0x00010006,\n\tRPI_FIRMWARE_GET_CLOCKS =                             0x00010007,\n\tRPI_FIRMWARE_GET_POWER_STATE =                        0x00020001,\n\tRPI_FIRMWARE_GET_TIMING =                             0x00020002,\n\tRPI_FIRMWARE_SET_POWER_STATE =                        0x00028001,\n\tRPI_FIRMWARE_GET_CLOCK_STATE =                        0x00030001,\n\tRPI_FIRMWARE_GET_CLOCK_RATE =                         0x00030002,\n\tRPI_FIRMWARE_GET_VOLTAGE =                            0x00030003,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE =                     0x00030004,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE =                        0x00030005,\n\tRPI_FIRMWARE_GET_TEMPERATURE =                        0x00030006,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE =                     0x00030007,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,\n\tRPI_FIRMWARE_GET_TURBO =                              0x00030009,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,\n\tRPI_FIRMWARE_GET_STC =                                0x0003000b,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,\n\tRPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,\n\tRPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,\n\tRPI_FIRMWARE_RELEASE_MEMORY =                         0x0003000f,\n\tRPI_FIRMWARE_EXECUTE_CODE =                           0x00030010,\n\tRPI_FIRMWARE_EXECUTE_QPU =                            0x00030011,\n\tRPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,\n\tRPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,\n\tRPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,\n\tRPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,\n\tRPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,\n\tRPI_FIRMWARE_SET_TURBO =                              0x00038009,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,\n\tRPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,\n\tRPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,\n\tRPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,\n\tRPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,\n\n\n\t/* Dispmanx TAGS */\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK =                      0x00040002,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT =  0x00040003,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT =   0x00040004,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH =                  0x00040005,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER =            0x00040006,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE =             0x00040007,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH =                  0x00040008,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH =                 0x00044005,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER =           0x00044006,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE =            0x00044007,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,\n\n\tRPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,\n\n\tRPI_FIRMWARE_GET_COMMAND_LINE =                       0x00050001,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS =                       0x00060001,\n};\n\nu32 mailbox_clock_rate(clock_type ct);\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value);\n\nbool mailbox_power_check(u32 type);\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size);\n"
  },
  {
    "path": "rpi_bm/part16/include/mem.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid *memcpy(void *dest, const void *src, u32 n);\n\n#define GPU_CACHED_BASE\t\t0x40000000\n#define GPU_UNCACHED_BASE\t0xC0000000\n#define GPU_MEM_BASE\tGPU_UNCACHED_BASE\n\n#define BUS_ADDRESS(addr)\t(((addr) & ~0xC0000000) | GPU_MEM_BASE)\n\nvoid *get_free_pages(int num_pages);\nvoid *allocate_memory(int bytes);\nvoid free_memory(void *base);\n\n"
  },
  {
    "path": "rpi_bm/part16/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part16/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#define HIGH_MEMORY             \t0x40000000\n#define PAGING_MEMORY \t\t\t(HIGH_MEMORY - LOW_MEMORY)\n#define PAGING_PAGES \t\t\t(PAGING_MEMORY/PAGE_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part16/include/mmu.h",
    "content": "#pragma once\n\n#define MM_TYPE_PAGE_TABLE\t\t0x3\n#define MM_TYPE_PAGE \t\t\t0x3\n#define MM_TYPE_BLOCK\t\t\t0x1\n#define MM_ACCESS\t\t\t(0x1 << 10)\n#define MM_ACCESS_PERMISSION\t\t(0x01 << 6) \n\n/*\n * Memory region attributes:\n *\n *   n = AttrIndx[2:0]\n *\t\t\tn\tMAIR\n *   DEVICE_nGnRnE\t000\t00000000\n *   NORMAL_NC\t\t001\t01000100\n */\n#define MT_DEVICE_nGnRnE \t\t0x0\n#define MT_NORMAL_NC\t\t\t0x1\n#define MT_DEVICE_nGnRnE_FLAGS\t\t0x00\n#define MT_NORMAL_NC_FLAGS  \t\t0x44\n#define MAIR_VALUE\t\t\t(MT_DEVICE_nGnRnE_FLAGS << (8 * MT_DEVICE_nGnRnE)) | (MT_NORMAL_NC_FLAGS << (8 * MT_NORMAL_NC))\n\n#define ATTRINDX_NORMAL\t\t0\n#define ATTRINDX_DEVICE\t\t1\n#define ATTRINDX_COHERENT\t2\n\n#define MAIR_VALUENEW (0xFF << ATTRINDX_NORMAL*8\t\\\n\t                | 0x04 << ATTRINDX_DEVICE*8\t\\\n\t                | 0x00 << ATTRINDX_COHERENT*8)\n\n\n#define MMU_FLAGS\t \t\t(MM_TYPE_BLOCK | (MT_NORMAL_NC << 2) | MM_ACCESS)\t\n#define MMU_DEVICE_FLAGS\t\t(MM_TYPE_BLOCK | (MT_DEVICE_nGnRnE << 2) | MM_ACCESS)\t\n#define MMU_PTE_FLAGS\t\t\t(MM_TYPE_PAGE | (MT_NORMAL_NC << 2) | MM_ACCESS | MM_ACCESS_PERMISSION)\t\n\n#define TCR_T0SZ\t\t\t(64 - 48) \n#define TCR_T1SZ\t\t\t((64 - 48) << 16)\n#define TCR_TG0_4K\t\t\t(0 << 14)\n#define TCR_TG1_4K\t\t\t(2 << 30)\n#define TCR_VALUE\t\t\t(TCR_T0SZ | TCR_T1SZ | TCR_TG0_4K | TCR_TG1_4K)\n\n// System registers\n#define SCTLR_EL1_WXN\t\t(1 << 19)\t\t// SCTLR_EL1\n#define SCTLR_EL1_I\t\t(1 << 12)\n#define SCTLR_EL1_C\t\t(1 << 2)\n#define SCTLR_EL1_A\t\t(1 << 1)\n#define SCTLR_EL1_M\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n#define DEVICE_START 0x3B400000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n#define DEVICE_START 0xFC000000\n\n#else\n#define PBASE 0\n#define DEVICE_START 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/dma.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\ntypedef struct {\n    u32 transfer_info;\n    u32 src_addr;\n    u32 dest_addr;\n    u32 transfer_length;\n    u32 mode_2d_stride;\n    u32 next_block_addr;\n    u32 res[2];\n} dma_control_block;\n\ntypedef struct {\n    u32 control;\n    u32 control_block_addr;\n    dma_control_block block;\n} dma_channel_regs;\n\n#define REGS_DMA(channel) ((dma_channel_regs *)(PBASE + 0x00007000 + (channel * 0x100)))\n\n#define REGS_DMA_INT_STATUS *((volatile u32 *)(PBASE + 0x00007FE0))\n#define REGS_DMA_ENABLE *((volatile u32 *)(PBASE + 0x00007FF0))\n\n//defines for differnet bits of the control and transfer info\n\n#define CS_RESET\t\t\t(1 << 31)\n#define CS_ABORT\t\t\t(1 << 30)\n#define CS_WAIT_FOR_OUTSTANDING_WRITES\t(1 << 28)\n#define CS_PANIC_PRIORITY_SHIFT\t\t20\n    #define DEFAULT_PANIC_PRIORITY\t\t15\n#define CS_PRIORITY_SHIFT\t\t16\n    #define DEFAULT_PRIORITY\t\t1\n#define CS_ERROR\t\t\t(1 << 8)\n#define CS_INT\t\t\t\t(1 << 2)\n#define CS_END\t\t\t\t(1 << 1)\n#define CS_ACTIVE\t\t\t(1 << 0)\n\n\n#define TI_PERMAP_SHIFT\t\t\t16\n#define TI_BURST_LENGTH_SHIFT\t\t12\n#define DEFAULT_BURST_LENGTH\t\t0\n#define TI_SRC_IGNORE\t\t\t(1 << 11)\n#define TI_SRC_DREQ\t\t\t(1 << 10)\n#define TI_SRC_WIDTH\t\t\t(1 << 9)\n#define TI_SRC_INC\t\t\t(1 << 8)\n#define TI_DEST_DREQ\t\t\t(1 << 6)\n#define TI_DEST_WIDTH\t\t\t(1 << 5)\n#define TI_DEST_INC\t\t\t(1 << 4)\n#define TI_WAIT_RESP\t\t\t(1 << 3)\n#define TI_TDMODE\t\t\t(1 << 1)\n#define TI_INTEN\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part16/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part16/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part16/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part16/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n\n#define ESR_ELx_EC_SHIFT\t\t26\n#define ESR_ELx_EC_SVC64\t\t0x15\n#define ESR_ELx_EC_DABT_LOW\t\t0x24\n\n/* Holds the saved process state when an exception is taken to EL3 */\n#define SPSR_EL3_D\t\t(1 << 9) // debug exception mask\n#define SPSR_EL3_A\t\t(1 << 8) // SError interrupt mask\n#define SPSR_EL3_I\t\t(1 << 7) // IRQ interrupt mask\n#define SPSR_EL3_F\t\t(1 << 6) // FIQ interrupt mask\n#define SPSR_EL3_MODE_EL3H\t13 // AArch64 Exception level and selected Stack Pointer, 13 is EL.3h.\n#define SPSR_EL3_MODE_EL1H  5  // AArch64 Exception level and selected Stack Pointer, 5 is EL.1h.\n#define SPSR_EL3_VAL  (SPSR_EL3_D | SPSR_EL3_A | SPSR_EL3_I | SPSR_EL3_F | SPSR_EL3_MODE_EL1H)\n\n#define TCR_TG1_4K     (2 << 30)\n#define TCR_T1SZ       ((64 - 48) << 16)\n#define TCR_TG0_4K     (0 << 14)\n#define TCR_T0SZ       (64 - 48)\n#define TCR_EL1_VAL    (TCR_TG1_4K | TCR_T1SZ | TCR_TG0_4K | TCR_T0SZ)\n\n/* architectural feature access control register */\n#define CPACR_EL1_FPEN    (1 << 21) | (1 << 20) // don't trap SIMD/FP registers\n#define CPACR_EL1_ZEN     (1 << 17) | (1 << 16)  // don't trap SVE instructions\n#define CPACR_EL1_VAL     (CPACR_EL1_FPEN | CPACR_EL1_ZEN)\n\n/* exception syndrome register EL1 (ESR_EL1) */\n#define ESR_ELx_EC_SHIFT 26\n#define ESR_ELx_EC_SVC64 0x15\n#define ESR_ELx_EC_DA_LOW 0x24\n"
  },
  {
    "path": "rpi_bm/part16/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part16/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part16/include/video.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp);\nvoid video_draw_char(char c, u32 pox_x, u32 pos_y);\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y);\nvoid video_draw_pixel(u32 x, u32 y, u32 color);\nvoid video_clear();\nvoid video_dma();\n\n//comes from fontData.c\nu32 font_get_height();\nu32 font_get_width();\nbool font_get_pixel(char ch, u32 x, u32 y);\n"
  },
  {
    "path": "rpi_bm/part16/square_margin",
    "content": ""
  },
  {
    "path": "rpi_bm/part16/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n#include \"mmu.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n#if INIT_MMU == 1\n    ldr x0, =CPACR_EL1_VAL\n    msr CPACR_EL1, x0\n\n    ldr x0, =TCR_EL1_VAL\n    msr TCR_EL1, x0\n\n    ldr x0, =MAIR_VALUE\n    msr MAIR_EL1, x0\n#endif\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    mov sp, #LOW_MEMORY\n\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n#if INIT_MMU == 1\n    bl init_mmu\n\n    adrp x0, id_pgd\n    msr ttbr0_el1, x0\n\n    mrs x0, sctlr_el1\n    mov x1, #SCTLR_MMU_ENABLED\n    orr x0, x0, x1\n    msr sctlr_el1, x0\n#endif\n\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n\n.globl id_pgd_addr\nid_pgd_addr:\n    adrp x0, id_pgd\n    ret"
  },
  {
    "path": "rpi_bm/part16/src/dma.c",
    "content": "#include <dma.h>\n#include <mem.h>\n#include <mm.h>\n#include <timer.h>\n#include <printf.h>\n\ndma_channel channels[15];\n\nstatic u16 channel_map = 0x1F35;\n\nstatic u16 allocate_channel(u32 channel) {\n    if (!(channel & ~0x0F)) {\n        if (channel_map & (1 << channel)) {\n            channel_map &= ~(1 << channel);\n            return channel;\n        }\n\n        return -1;\n    }\n\n    u16 i = channel == CT_NORMAL ? 6 : 12;\n\n    for (; i >= 0; i--) {\n        if (channel_map & (1 << i)) {\n            channel_map &= ~(1 << i);\n            return i;\n        }\n    }\n\n    return CT_NONE;\n}\n\ndma_channel *dma_open_channel(u32 channel) {\n    u32 _channel = allocate_channel(channel);\n\n    if (_channel == CT_NONE) {\n        printf(\"INVALID CHANNEL! %d\\n\", channel);\n        return 0;\n    }\n\n    dma_channel *dma = (dma_channel *)&channels[_channel];\n    dma->channel = _channel;\n\n    //LOW_MEMORY = bottom of RAM...  Hack for now since no allocate function\n    dma->block = (dma_control_block *)((LOW_MEMORY + 31) & ~31);\n    dma->block->res[0] = 0;\n    dma->block->res[1] = 0;\n\n    REGS_DMA_ENABLE |= (1 << dma->channel);\n    timer_sleep(3);\n    REGS_DMA(dma->channel)->control |= CS_RESET;\n\n    while(REGS_DMA(dma->channel)->control & CS_RESET) ;\n\n    return dma;\n}\n\nvoid dma_close_channel(dma_channel *channel) {\n    channel_map |= (1 << channel->channel);\n}\n\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length) {\n    channel->block->transfer_info = (burst_length << TI_BURST_LENGTH_SHIFT)\n\t\t\t\t\t\t    | TI_SRC_WIDTH\n\t\t\t\t\t\t    | TI_SRC_INC\n\t\t\t\t\t\t    | TI_DEST_WIDTH\n\t\t\t\t\t\t    | TI_DEST_INC;\n\n    channel->block->src_addr = (u32)src;\n    channel->block->dest_addr = (u32)dest;\n    channel->block->transfer_length = length;\n    channel->block->mode_2d_stride = 0;\n    channel->block->next_block_addr = 0;\n}\n\nvoid dma_start(dma_channel *channel) {\n    REGS_DMA(channel->channel)->control_block_addr = BUS_ADDRESS((u32)channel->block);\n\n    REGS_DMA(channel->channel)->control = CS_WAIT_FOR_OUTSTANDING_WRITES\n\t\t\t\t\t      | (DEFAULT_PANIC_PRIORITY << CS_PANIC_PRIORITY_SHIFT)\n\t\t\t\t\t      | (DEFAULT_PRIORITY << CS_PRIORITY_SHIFT)\n\t\t\t\t\t      | CS_ACTIVE;\n}\n\nbool dma_wait(dma_channel *channel) {\n    while(REGS_DMA(channel->channel)->control & CS_ACTIVE) ;\n\n    channel->status = REGS_DMA(channel->channel)->control & CS_ERROR ? false : true;\n\n    return channel->status;\n\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part16/src/fontData.c",
    "content": "// lat1-16 console font (ISO-8859-1)\n//\n// Taken from the Linux \"kbd - Keyboard and Font Utilities\" package\n// by Andries Brouwer <aeb@cwi.nl>\n//    Alexey Gladkov <gladkov.alexey@gmail.com>\n//    Portions by Paul Gortmaker\n//    Licensed under GPLv2+\n//\n\n#include \"common.h\"\n\nstatic const unsigned width       = 8;\nstatic const unsigned height      = 16;\nstatic const unsigned extraheight = 3;\n\nstatic const unsigned char font_data[224][16] =\n{\n\t{0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0x7C, 0x16, 0x16, 0xD6, 0x7C, 0x10, 0x10, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6, 0xE6, 0xE6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x64, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00},\n\t{0x00, 0x30, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0xD0, 0xD6, 0x7C, 0x10, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x60, 0x60, 0xF0, 0x60, 0x60, 0x66, 0xF6, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC6, 0x7C, 0x6C, 0x6C, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0x99, 0xA5, 0xA1, 0xA5, 0x99, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA5, 0xA5, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x30, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF6, 0xC0, 0xC0, 0xC0, 0x00},\n\t{0x00, 0x00, 0x7F, 0xD6, 0xD6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x6C, 0x38, 0x00},\n\t{0x30, 0x70, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x6E, 0xDB, 0x06, 0x0C, 0x1F, 0x00, 0x00, 0x00},\n\t{0x70, 0xD8, 0x30, 0xD8, 0x76, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x38, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3E, 0x78, 0xD8, 0xD8, 0xFC, 0xD8, 0xD8, 0xD8, 0xD8, 0xDE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x0C, 0x66, 0x3C, 0x00},\n\t{0x60, 0x30, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x08, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x18, 0x3C, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0xF6, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC6, 0xCE, 0xCE, 0xDE, 0xF6, 0xE6, 0xE6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xCC, 0xC6, 0xC6, 0xC6, 0xD6, 0xDC, 0x80, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB, 0x1B, 0x7F, 0xD8, 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x6C, 0x38, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x78, 0x30, 0x78, 0x0C, 0x7E, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xCE, 0xDE, 0xFE, 0xF6, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00}\n};\n\n#define FIRSTCHAR\t0x21\n#define LASTCHAR\t0xFF\n#define CHARCOUNT\t(LASTCHAR - FIRSTCHAR + 1)\n\nu32 font_get_height() {\n    return height + extraheight;\n}\n\nu32 font_get_width() {\n    return width;\n}\n\nbool font_get_pixel(char ch, u32 x, u32 y) {\n    if (ch < FIRSTCHAR || ch > LASTCHAR) {\n        return false;\n    }\n\n    u32 index = ch - FIRSTCHAR;\n    if (y >= height) {\n        return false;\n    }\n\n    return font_data[index][y] & (0x80 >> x) ? true : false;\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part16/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part16/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n#include \"mailbox.h\"\n#include \"video.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nstruct align_check1 {\n    u8 a;\n    u8 b;\n    u8 c;\n    //u8 padding;\n    u32 d;\n};\n\nstruct align_check2 {\n    u8 a;\n    u8 b;\n    u8 c;\n    u32 d;\n} PACKED;\n\nu8 buffer[] = {0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70};\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n#if INIT_MMU == 1\n    printf(\"Initialized MMU\\n\");\n#endif\n\n    printf(\"ALIGN CHECK\\n\");\n\n    struct align_check1 ac1;\n    memcpy(&ac1, buffer, 7);\n    printf(\"UNPACKED: A: %X, B: %X, C: %X, D: %X\\n\", ac1.a, ac1.b, ac1.c, ac1.d);\n\n    struct align_check2 ac2;\n    memcpy(&ac2, buffer, 7);\n    printf(\"PACKED: A: %X, B: %X, C: %X, D: %X\\n\", ac2.a, ac2.b, ac2.c, ac2.d);\n\n    void *p1 = get_free_pages(10);\n    void *p2 = get_free_pages(4);\n    void *p3 = allocate_memory(20 * 4096 + 1);\n\n    free_memory(p1);\n    free_memory(p2);\n    free_memory(p3);\n\n    timer_sleep(5000);\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"MAILBOX:\\n\");\n\n    printf(\"CORE CLOCK: %d\\n\", mailbox_clock_rate(CT_CORE));\n    printf(\"EMMC CLOCK: %d\\n\", mailbox_clock_rate(CT_EMMC));\n    printf(\"UART CLOCK: %d\\n\", mailbox_clock_rate(CT_UART));\n    printf(\"ARM  CLOCK: %d\\n\", mailbox_clock_rate(CT_ARM));\n\n    printf(\"I2C POWER STATE:\\n\");\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(2000);\n\n    for (int i=0; i<3; i++) {\n        u32 on = 1;\n        mailbox_generic_command(RPI_FIRMWARE_SET_DOMAIN_STATE, i, &on);\n\n        printf(\"SET POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(1000);\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    u32 max_temp = 0;\n\n    mailbox_generic_command(RPI_FIRMWARE_GET_MAX_TEMPERATURE, 0, &max_temp);\n\n    //Do video...\n    video_init();\n\n    printf(\"NO DMA...\\n\");\n    video_set_dma(false);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    printf(\"YES DMA...\\n\");\n    video_set_dma(true);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    while(1) {\n        u32 cur_temp = 0;\n\n        mailbox_generic_command(RPI_FIRMWARE_GET_TEMPERATURE, 0, &cur_temp);\n\n        printf(\"Cur temp: %dC MAX: %dC\\n\", cur_temp / 1000, max_temp / 1000);\n\n        timer_sleep(1000);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part16/src/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part16/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n    . = ALIGN(0x00001000);\n    id_pgd = .;\n    .data.id_pgd : { . += (6 * (1 << 12)); }\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/mailbox.c",
    "content": "#include <mailbox.h>\n#include <peripherals/base.h>\n#include \"printf.h\"\n#include <mem.h>\n\ntypedef struct {\n    reg32 read;\n    reg32 res[5];\n    reg32 status;\n    reg32 config;\n    reg32 write;\n} mailbox_regs;\n\nmailbox_regs *MBX() {\n    return (mailbox_regs *)(PBASE + 0xB880);\n}\n\ntypedef struct {\n    u32 size;\n    u32 code;\n    u8 tags[0];\n} property_buffer;\n\nstatic u32 property_data[8192] __attribute__((aligned(16)));\n\n#define MAIL_EMPTY 0x40000000\n#define MAIL_FULL  0x80000000\n\n#define MAIL_POWER    0x0 // Mailbox Channel 0: Power Management Interface\n#define MAIL_FB       0x1 // Mailbox Channel 1: Frame Buffer\n#define MAIL_VUART    0x2 // Mailbox Channel 2: Virtual UART\n#define MAIL_VCHIQ    0x3 // Mailbox Channel 3: VCHIQ Interface\n#define MAIL_LEDS     0x4 // Mailbox Channel 4: LEDs Interface\n#define MAIL_BUTTONS  0x5 // Mailbox Channel 5: Buttons Interface\n#define MAIL_TOUCH    0x6 // Mailbox Channel 6: Touchscreen Interface\n#define MAIL_COUNT    0x7 // Mailbox Channel 7: Counter\n#define MAIL_TAGS     0x8 // Mailbox Channel 8: Tags (ARM to VC)\n\nstatic void mailbox_write(u8 channel, u32 data) {\n    while(MBX()->status & MAIL_FULL) ;\n\n    MBX()->write = (data & 0xFFFFFFF0 | (channel & 0xF));\n}\n\nstatic u32 mailbox_read(u8 channel) {\n    while(true) {\n        while(MBX()->status & MAIL_EMPTY) ;\n\n        u32 data = MBX()->read;\n\n        u8 read_channel = (u8)(data & 0xF);\n\n        if (read_channel == channel) {\n            return data & 0xFFFFFFF0;\n        }\n    }\n}\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size) {\n    int buffer_size = tag_size + 12;\n\n    memcpy(&property_data[2], tag, tag_size);\n\n    property_buffer *buff = (property_buffer *)property_data;\n    buff->size = buffer_size;\n    buff->code = RPI_FIRMWARE_STATUS_REQUEST;\n    property_data[(tag_size + 12) / 4 - 1] = RPI_FIRMWARE_PROPERTY_END;\n\n    mailbox_write(MAIL_TAGS, (u32)(void *)property_data);\n\n    int result = mailbox_read(MAIL_TAGS);\n\n    memcpy(tag, property_data + 2, tag_size);\n\n    return true;\n}\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value) {\n    mailbox_generic mbx;\n    mbx.tag.id = tag_id;\n    mbx.tag.value_length = 0;\n    mbx.tag.buffer_size = sizeof(mailbox_generic) - sizeof(mailbox_tag);\n    mbx.id = id;\n    mbx.value = *value;\n\n    if (!mailbox_process((mailbox_tag *)&mbx, sizeof(mbx))) {\n        printf(\"FAILED TO PROCESS: %X\\n\", tag_id);\n        return false;\n    }\n\n    *value = mbx.value;\n\n    return true;\n}\n\nu32 mailbox_clock_rate(clock_type ct) {\n    mailbox_clock c;\n    c.tag.id = RPI_FIRMWARE_GET_CLOCK_RATE;\n    c.tag.value_length = 0;\n    c.tag.buffer_size = sizeof(c) - sizeof(c.tag);\n    c.id = ct;\n\n    mailbox_process((mailbox_tag *)&c, sizeof(c));\n\n    return c.rate;\n}\n\nbool mailbox_power_check(u32 type) {\n    mailbox_power p;\n    p.tag.id = RPI_FIRMWARE_GET_DOMAIN_STATE;\n    p.tag.value_length = 0;\n    p.tag.buffer_size = sizeof(p) - sizeof(p.tag);\n    p.id = type;\n    p.state = ~0;\n\n    mailbox_process((mailbox_tag *)&p, sizeof(p));\n\n    return p.state && p.state != ~0;\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/mem.c",
    "content": "#include <mem.h>\n#include <peripherals/base.h>\n#include <mm.h>\n#include <mmu.h>\n#include <printf.h>\n\nstatic u16 mem_map [ PAGING_PAGES ] = {0,};\n\nvoid *allocate_memory(int bytes) {\n    int pages = bytes / PAGE_SIZE;\n\n    if (bytes % PAGE_SIZE) {\n        pages++;\n    }\n\n    return get_free_pages(pages);\n}\n\nvoid free_memory(void *base) {\n    u64 page_num = (((u64)base) - LOW_MEMORY) / PAGE_SIZE;\n    int pages = mem_map[page_num];\n\n    printf(\"free_memory at address %X page num: %d pages: %d\\n\", base, page_num, pages);\n\n    for (int i=0; i<pages; i++) {\n        mem_map[page_num + i] = 0;\n    }\n}\n\nvoid *get_free_pages(int num_pages) {\n    int start_index = 0;\n    int count = 0;\n\n    for (int i=0; i<PAGING_PAGES; i++) {\n        if (mem_map[i] == 0) {\n            //not yet allocated...\n            if (!count) {\n                start_index = i;\n            }\n\n            count++;\n\n            if (count == num_pages) {\n                mem_map[start_index] = count; //number of pages allocated\n\n                for (int c=1; c<count; c++) {\n                    mem_map[c + start_index] = 1;\n                }\n\n                void *p = (void *)(LOW_MEMORY + (start_index * PAGE_SIZE));\n\n                printf(\"get_free_pages returning %d pages starting at %d at address %X\\n\", count, start_index, p);\n\n                return p;\n            }\n        } else {\n            count = 0;\n        }\n    }\n}\n\nvoid *memcpy(void *dest, const void *src, u32 n) {\n    //simple implementation...\n    u8 *bdest = (u8 *)dest;\n    u8 *bsrc = (u8 *)src;\n\n    for (int i=0; i<n; i++) {\n        bdest[i] = bsrc[i];\n    }\n\n    return dest;\n}\n\n#define TD_VALID                   (1 << 0)\n#define TD_BLOCK                   (0 << 1)\n#define TD_TABLE                   (1 << 1)\n#define TD_ACCESS                  (1 << 10)\n#define TD_KERNEL_PERMS            (1L << 54)\n#define TD_INNER_SHARABLE          (3 << 8)\n\n#define TD_KERNEL_TABLE_FLAGS      (TD_TABLE | TD_VALID)\n#define TD_KERNEL_BLOCK_FLAGS      (TD_ACCESS | TD_INNER_SHARABLE | TD_KERNEL_PERMS | (MATTR_NORMAL_NC_INDEX << 2) | TD_BLOCK | TD_VALID)\n#define TD_DEVICE_BLOCK_FLAGS      (TD_ACCESS | TD_INNER_SHARABLE | TD_KERNEL_PERMS | (MATTR_DEVICE_nGnRnE_INDEX << 2) | TD_BLOCK | TD_VALID)\n\n#define MATTR_DEVICE_nGnRnE        0x0\n#define MATTR_NORMAL_NC            0x44\n#define MATTR_DEVICE_nGnRnE_INDEX  0\n#define MATTR_NORMAL_NC_INDEX      1\n#define MAIR_EL1_VAL               ((MATTR_NORMAL_NC << (8 * MATTR_NORMAL_NC_INDEX)) | MATTR_DEVICE_nGnRnE << (8 * MATTR_DEVICE_nGnRnE_INDEX))\n\n#define ID_MAP_PAGES           6\n#define ID_MAP_TABLE_SIZE      (ID_MAP_PAGES * PAGE_SIZE)\n#define ENTRIES_PER_TABLE      512\n#define PGD_SHIFT              (PAGE_SHIFT + 3 * TABLE_SHIFT)\n#define PUD_SHIFT              (PAGE_SHIFT + 2 * TABLE_SHIFT)\n#define PMD_SHIFT              (PAGE_SHIFT + TABLE_SHIFT)\n#define PUD_ENTRY_MAP_SIZE     (1 << PUD_SHIFT)\n\n#define BLOCK_SIZE 0x40000000\n\nvoid create_table_entry(u64 tbl, u64 next_tbl, u64 va, u64 shift, u64 flags) {\n    u64 table_index = va >> shift;\n    table_index &= (ENTRIES_PER_TABLE - 1);\n    u64 descriptor = next_tbl | flags;\n    *((u64 *)(tbl + (table_index << 3))) = descriptor;\n}\n\nvoid create_block_map(u64 pmd, u64 vstart, u64 vend, u64 pa) {\n    vstart >>= SECTION_SHIFT;\n    vstart &= (ENTRIES_PER_TABLE -1);\n\n    vend >>= SECTION_SHIFT;\n    vend--;\n    vend &= (ENTRIES_PER_TABLE - 1);\n\n    pa >>= SECTION_SHIFT;\n    pa <<= SECTION_SHIFT;\n\n    do {\n        u64 _pa = pa;\n\n        if (pa >= DEVICE_START) {\n            _pa |= TD_DEVICE_BLOCK_FLAGS;\n        } else {\n            _pa |= TD_KERNEL_BLOCK_FLAGS;\n        }\n\n        *((u64 *)(pmd + (vstart << 3))) = _pa;\n        pa += SECTION_SIZE;\n        vstart++;\n    } while(vstart <= vend);\n}\n\nu64 id_pgd_addr();\n\nvoid init_mmu() {\n    u64 id_pgd = id_pgd_addr();\n\n    memzero(id_pgd, ID_MAP_TABLE_SIZE);\n\n    u64 map_base = 0;\n    u64 tbl = id_pgd;\n    u64 next_tbl = tbl + PAGE_SIZE;\n\n    create_table_entry(tbl, next_tbl, map_base, PGD_SHIFT, TD_KERNEL_TABLE_FLAGS);\n\n    tbl += PAGE_SIZE;\n    next_tbl += PAGE_SIZE;\n\n    u64 block_tbl = tbl;\n\n    for (u64 i=0; i<4; i++) {\n        create_table_entry(tbl, next_tbl, map_base, PUD_SHIFT, TD_KERNEL_TABLE_FLAGS);\n\n        next_tbl += PAGE_SIZE;\n        map_base += PUD_ENTRY_MAP_SIZE;\n\n        block_tbl += PAGE_SIZE;\n\n        u64 offset = BLOCK_SIZE * i;\n        create_block_map(block_tbl, offset, offset + BLOCK_SIZE, offset);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part16/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part16/src/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part16/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part16/src/video.c",
    "content": "#include \"mailbox.h\"\n#include \"printf.h\"\n#include \"timer.h\"\n#include \"video.h\"\n#include \"dma.h\"\n#include \"mm.h\"\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 xres;\n    u32 yres;\n} mailbox_fb_size;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 bpp;\n} mailbox_fb_depth;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 pitch;\n} mailbox_fb_pitch;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 base; \n    u32 screen_size;\n} mailbox_fb_buffer;\n\ntypedef struct {\n    mailbox_fb_size res;\n    mailbox_fb_size vres; //virtual resolution..\n    mailbox_fb_depth depth;\n    mailbox_fb_buffer buff;\n    mailbox_fb_pitch pitch;\n} mailbox_fb_request;\n\nstatic mailbox_fb_request fb_req;\n\nstatic dma_channel *dma;\nstatic u8 *vid_buffer;\n\nstatic u32 *bg32_buffer;\nstatic u32 *bg8_buffer;\n\n#define TEXT_COLOR 0xFFFFFFFF\n#define BACK_COLOR 0xFF0055BB\n\n#define MB (1024 * 1024)\n\n//hack for not having an allocate function yet...\n#define BG32_MEM_LOCATION (LOW_MEMORY + (10 * MB))\n#define BG8_MEM_LOCATION (BG32_MEM_LOCATION + (10 * MB))\n#define VB_MEM_LOCATION (BG8_MEM_LOCATION + (4 * MB))\n\nvoid video_init() {\n    dma = dma_open_channel(CT_NORMAL);\n    vid_buffer = (u8 *)VB_MEM_LOCATION;\n\n    printf(\"DMA CHANNEL: %d\\n\", dma->channel);\n    printf(\"VID BUFF: %X\\n\", vid_buffer);\n\n    bg32_buffer = (u32 *)BG32_MEM_LOCATION;\n    bg8_buffer = (u32 *)BG8_MEM_LOCATION;\n\n    for (int i=0; i<(10 * MB) / 4; i++) {\n        bg32_buffer[i] = BACK_COLOR;\n    }\n\n    for (int i=0; i<(4 * MB) / 4; i++) {\n        bg8_buffer[i] = 0x01010101;\n    }\n}\n\nstatic bool use_dma = false;\n\n#define BUS_ADDR(x) (((u64)x | 0x40000000) & ~0xC0000000)\n\n#define FRAMEBUFFER ((volatile u8 *)BUS_ADDR(fb_req.buff.base))\n#define DMABUFFER ((volatile u8 *)vid_buffer)\n#define DRAWBUFFER (use_dma ? DMABUFFER : FRAMEBUFFER)\n\nvoid video_set_dma(bool b) {\n    use_dma = b;\n}\n\nvoid do_dma(void *dest, void *src, u32 total) {\n\n    u32 ms_start = timer_get_ticks() / 1000;\n\n    u32 start = 0;\n\n    while(total > 0) {\n        int num_bytes = total;\n\n        if (num_bytes > 0xFFFFFF) {\n            num_bytes = 0xFFFFFF;\n        }\n        \n        dma_setup_mem_copy(dma, dest + start, src + start, num_bytes, 2);\n        \n        dma_start(dma);\n\n        dma_wait(dma);\n\n        start += num_bytes;\n        total -= num_bytes;\n    }\n\n    u32 ms_end = timer_get_ticks() / 1000;\n    //ms ticks when done...\n\n    printf(\"DMA took %d ms\\n\", (ms_end - ms_start));\n}\n\nvoid video_dma() {\n    do_dma(FRAMEBUFFER, DMABUFFER, fb_req.buff.screen_size);\n}\n\ntypedef struct  {\n    mailbox_tag tag;\n    u32 offset;\n    u32 num_entries;\n    u32 entries[8];\n} mailbox_set_palette;\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp) {\n\n    fb_req.res.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT;\n    fb_req.res.tag.buffer_size = 8;\n    fb_req.res.tag.value_length = 8;\n    fb_req.res.xres = xres;\n    fb_req.res.yres = yres;\n    \n    fb_req.vres.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT;\n    fb_req.vres.tag.buffer_size = 8;\n    fb_req.vres.tag.value_length = 8;\n    fb_req.vres.xres = xres;\n    fb_req.vres.yres = yres;\n\n    fb_req.depth.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH;\n    fb_req.depth.tag.buffer_size = 4;\n    fb_req.depth.tag.value_length = 4;\n    fb_req.depth.bpp = bpp;\n\n    fb_req.buff.tag.id = RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE;\n    fb_req.buff.tag.buffer_size = 8;\n    fb_req.buff.tag.value_length = 4;\n    fb_req.buff.base = 16;\n    fb_req.buff.screen_size = 0;\n\n    fb_req.pitch.tag.id = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;\n    fb_req.pitch.tag.buffer_size = 4;\n    fb_req.pitch.tag.value_length = 4;\n    fb_req.pitch.pitch = 0;\n\n    mailbox_set_palette palette;\n    palette.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE;\n    palette.tag.buffer_size = 40;\n    palette.tag.value_length = 0;\n    palette.offset = 0;\n    palette.num_entries = 8;\n    palette.entries[0] = 0;\n    palette.entries[1] = 0xFFBB5500;\n    palette.entries[2] = 0xFFFFFFFF;\n    palette.entries[3] = 0xFFFF0000;\n    palette.entries[4] = 0xFF00FF00;\n    palette.entries[5] = 0xFF0000FF;\n    palette.entries[6] = 0x55555555;\n    palette.entries[7] = 0xCCCCCCCC;\n\n    //sets the actual resolution\n    mailbox_process((mailbox_tag *)&fb_req, sizeof(fb_req));\n\n    printf(\"Allocated Buffer: %X - %d - %d\\n\", fb_req.buff.base, fb_req.buff.screen_size, fb_req.depth.bpp);\n\n    if (bpp == 8) {\n        mailbox_process((mailbox_tag *)&palette, sizeof(palette));\n    }\n\n    //draw some text showing what resolution is...\n\n    char res[64];\n\n    for (int i=0; i<4; i++) {\n        u64 ms_start = timer_get_ticks() / 1000; //get ticks in ms before drawing on screen...\n\n        if (fb_req.depth.bpp == 32) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg32_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg32_buffer, fb_req.buff.screen_size);\n            }\n        }\n        else if (fb_req.depth.bpp == 8) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg8_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg8_buffer, fb_req.buff.screen_size);\n            }\n        }\n\n        u64 ms_end = timer_get_ticks() / 1000;\n\n        u32 ms_buff = ms_end - ms_start;\n\n        u64 ms_before_draw = ms_end;\n        \n        if (use_dma) {\n            video_dma();\n        }\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"Resolution: %d x %d x %d\", xres, yres, bpp);\n        video_draw_string(res, 20, 20 + (i * 20));\n\n        sprintf(res, \"BG write took: %d ms\\n\", ms_buff);\n        video_draw_string(res, 20, 40 + (i * 20));\n\n        sprintf(res, \"DMA BG draw took: %d ms\\n\", ms_end - ms_before_draw);\n        video_draw_string(res, 20, 60 + (i * 20));\n\n        sprintf(res, \"Video Drawing Done!\");\n        video_draw_string(res, 20, 80 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"FRAME DRAW TIME: %d ms\\n\", ms_end - ms_start);\n        video_draw_string(res, 20, 100 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        timer_sleep(2000);\n    }\n}\n\nvoid video_draw_pixel(u32 x, u32 y, u32 color) {\n\n    u32 pixel_offset = (x * (fb_req.depth.bpp >> 3)) + (y * fb_req.pitch.pitch);\n\n    if (fb_req.depth.bpp == 32) {\n        u32 *buff = (u32 *)DRAWBUFFER;\n        buff[pixel_offset / 4] = color;\n    } else if (fb_req.depth.bpp == 16) {\n        u16 *buff = (u16 *)DRAWBUFFER;\n        buff[pixel_offset / 2] = color & 0xFFFF;\n    } else {\n        DRAWBUFFER[pixel_offset++] = (color & 0xFF);\n    }\n\n}\n\nvoid video_draw_char(char c, u32 pos_x, u32 pos_y) {\n    u32 text_color = TEXT_COLOR;\n    u32 back_color = BACK_COLOR;\n\n    if (fb_req.depth.bpp == 8) {\n        text_color = 2;\n        back_color = 1;\n    }\n\n    for (int y=0; y<font_get_height(); y++) {\n        for (int x=0; x<font_get_width(); x++) {\n            bool yes = font_get_pixel(c, x, y); //gets whether there is a pixel for the font at this pos...\n            video_draw_pixel(pos_x + x, pos_y + y, yes ? text_color : back_color);\n        }\n    }\n}\n\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y) {\n    for (int i=0; s[i] != 0; pos_x += (font_get_width() + 2), i++) {\n        video_draw_char(s[i], pos_x, pos_y);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part17/.vscode/settings.json",
    "content": "{\n    \"files.associations\": {\n        \"typeinfo\": \"c\",\n        \"emmc.h\": \"c\"\n    }\n}"
  },
  {
    "path": "rpi_bm/part17/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nINIT_MMU ?= 1\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -DINIT_MMU=$(INIT_MMU) -Wall -Wno-psabi -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nC_FILES += $(wildcard $(SRC_DIR)/*/*.c)\nC_FILES += $(wildcard $(SRC_DIR)/*/*/*.c)\n\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nASM_FILES += $(wildcard $(SRC_DIR)/*/*.S)\nASM_FILES += $(wildcard $(SRC_DIR)/*/*/*.S)\n\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part17/armstub/build/armstub_s.d",
    "content": "armstub/build/armstub_s.o: armstub/src/armstub.S\n"
  },
  {
    "path": "rpi_bm/part17/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part17/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\ndisable_commandline_tags=1\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part17/i2c-slave/i2c-slave.ino",
    "content": "#include <Wire.h>\n\n#define ADDRESS 21\n\nconst char *answer = \"HELLO_I2C\";\n\nvoid setup() {\n  \n  Wire.begin(ADDRESS);\n  Wire.onRequest(request_data);\n  Wire.onReceive(receive_data);\n  \n  Serial.begin(9600);\n  \n  Serial.println(\"I2C Slave Initialized.\");\n}\n\nvoid receive_data() {\n  while (Wire.available() > 0) {\n    char buffer[32];\n    byte b = Wire.read();\n\n    sprintf(buffer, \"Received: %2.2X - %c\", b, b);\n    Serial.println(buffer);\n  }\n}\n\nvoid request_data() {\n\n  // Send response back to Master\n  Wire.write(answer,strlen(answer));\n  \n  // Print to Serial Monitor\n  Serial.print(\"Sent Data: \");\n  Serial.println(answer);\n}\n\nvoid loop() {\n  delay(50);\n}\n"
  },
  {
    "path": "rpi_bm/part17/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n#include <stdbool.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n\n#define PACKED __attribute((__packed__))\n"
  },
  {
    "path": "rpi_bm/part17/include/dma.h",
    "content": "#pragma once\n\n#include <peripherals/dma.h>\n\ntypedef struct {\n    u32 channel;\n    dma_control_block *block;\n    bool status;\n} dma_channel;\n\ntypedef enum {\n    CT_NONE = -1,\n    CT_NORMAL = 0x81\n} dma_channel_type;\n\ndma_channel *dma_open_channel(u32 channel);\nvoid dma_close_channel(dma_channel *channel);\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length);\nvoid dma_start(dma_channel *channel);\nbool dma_wait(dma_channel *channel);\n\n"
  },
  {
    "path": "rpi_bm/part17/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part17/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part17/include/i2c.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef enum _i2c_status {\n    I2CS_SUCCESS,\n    I2CS_ACK_ERROR,\n    I2CS_DATA_LOSS,\n    I2CS_CLOCK_TIMEOUT\n} i2c_status;\n\nvoid i2c_init();\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size);\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size);\n\n\n\n"
  },
  {
    "path": "rpi_bm/part17/include/io.h",
    "content": "#pragma once\n\n#include <common.h>\n\ntypedef struct _io_device {\n    char *name;\n    void *data;\n    int (*read)(struct _io_device *, void *, u32);\n    int (*write)(struct _io_device *, void *, u32);\n    void (*seek)(struct _io_device *, u64);\n    bool (*open)(struct _io_device *, void *);\n    bool (*close)(struct _io_device *, void *);\n} io_device;\n\nbool io_device_register(io_device *dev);\n\nio_device *io_device_find(char *name);\n"
  },
  {
    "path": "rpi_bm/part17/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part17/include/lcd.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n//HD44780 Datasheet\n//https://image.dfrobot.com/image/data/DFR0154/LCD2004%20hd44780%20Datasheet.pdf\n\nvoid lcd_init(u8 address);\n\nvoid lcd_backlight(bool on);\n\nvoid lcd_print(char *s);\n\nvoid lcd_send(u8 data, u8 mode);\n\nvoid lcd_command(u8 command);\n"
  },
  {
    "path": "rpi_bm/part17/include/led_display.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid led_display_init();\n\nvoid led_display_send_command(u8 opcode, u8 data);\n\nvoid led_display_clear();\n\nvoid led_display_intensity(u8 value);\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot);\n\nvoid led_display_set_value(int value);\n\ntypedef enum {\n    LD_NOOP = 0,\n    LD_DIGIT0,\n    LD_DIGIT1,\n    LD_DIGIT2,\n    LD_DIGIT3,\n    LD_DIGIT4,\n    LD_DIGIT5,\n    LD_DIGIT6,\n    LD_DIGIT7,\n    LD_DECODE_MODE,\n    LD_INTENSITY,\n    LD_SCANLIMIT,\n    LD_SHUTDOWN,\n    LD_DISPLAYTEST = 15\n} led_display_opcodes;\n\n"
  },
  {
    "path": "rpi_bm/part17/include/mailbox.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\ntypedef struct {\n    u32 id;\n    u32 buffer_size;\n    u32 value_length;\n} mailbox_tag;\n\ntypedef struct {\n    u32 size;\n    void *tag;\n} mailbox_command;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 value;\n} mailbox_generic;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 state;\n} mailbox_power;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 id;\n    u32 rate;\n} mailbox_clock;\n\ntypedef enum {\n    CT_EMMC = 1,\n    CT_UART = 2,\n    CT_ARM = 3,\n    CT_CORE = 4\n} clock_type;\n\n\n#define RPI_POWER_DOMAIN_I2C0\t\t0\n#define RPI_POWER_DOMAIN_I2C1\t\t1\n#define RPI_POWER_DOMAIN_I2C2\t\t2\n#define RPI_POWER_DOMAIN_VIDEO_SCALER\t3\n#define RPI_POWER_DOMAIN_VPU1\t\t4\n#define RPI_POWER_DOMAIN_HDMI\t\t5\n#define RPI_POWER_DOMAIN_USB\t\t6\n#define RPI_POWER_DOMAIN_VEC\t\t7\n#define RPI_POWER_DOMAIN_JPEG\t\t8\n#define RPI_POWER_DOMAIN_H264\t\t9\n#define RPI_POWER_DOMAIN_V3D\t\t10\n#define RPI_POWER_DOMAIN_ISP\t\t11\n#define RPI_POWER_DOMAIN_UNICAM0\t12\n#define RPI_POWER_DOMAIN_UNICAM1\t13\n#define RPI_POWER_DOMAIN_CCP2RX\t\t14\n#define RPI_POWER_DOMAIN_CSI2\t\t15\n#define RPI_POWER_DOMAIN_CPI\t\t16\n#define RPI_POWER_DOMAIN_DSI0\t\t17\n#define RPI_POWER_DOMAIN_DSI1\t\t18\n#define RPI_POWER_DOMAIN_TRANSPOSER\t19\n#define RPI_POWER_DOMAIN_CCP2TX\t\t20\n#define RPI_POWER_DOMAIN_CDP\t\t21\n#define RPI_POWER_DOMAIN_ARM\t\t22\n\n#define RPI_POWER_DOMAIN_COUNT\t\t23\n\nenum rpi_firmware_property_status {\n\tRPI_FIRMWARE_STATUS_REQUEST = 0,\n\tRPI_FIRMWARE_STATUS_SUCCESS = 0x80000000,\n\tRPI_FIRMWARE_STATUS_ERROR =   0x80000001,\n};\n\nenum rpi_firmware_property_tag {\n\tRPI_FIRMWARE_PROPERTY_END =                           0,\n\tRPI_FIRMWARE_GET_FIRMWARE_REVISION =                  0x00000001,\n\n\tRPI_FIRMWARE_SET_CURSOR_INFO =                        0x00008010,\n\tRPI_FIRMWARE_SET_CURSOR_STATE =                       0x00008011,\n\n\tRPI_FIRMWARE_GET_BOARD_MODEL =                        0x00010001,\n\tRPI_FIRMWARE_GET_BOARD_REVISION =                     0x00010002,\n\tRPI_FIRMWARE_GET_BOARD_MAC_ADDRESS =                  0x00010003,\n\tRPI_FIRMWARE_GET_BOARD_SERIAL =                       0x00010004,\n\tRPI_FIRMWARE_GET_ARM_MEMORY =                         0x00010005,\n\tRPI_FIRMWARE_GET_VC_MEMORY =                          0x00010006,\n\tRPI_FIRMWARE_GET_CLOCKS =                             0x00010007,\n\tRPI_FIRMWARE_GET_POWER_STATE =                        0x00020001,\n\tRPI_FIRMWARE_GET_TIMING =                             0x00020002,\n\tRPI_FIRMWARE_SET_POWER_STATE =                        0x00028001,\n\tRPI_FIRMWARE_GET_CLOCK_STATE =                        0x00030001,\n\tRPI_FIRMWARE_GET_CLOCK_RATE =                         0x00030002,\n\tRPI_FIRMWARE_GET_VOLTAGE =                            0x00030003,\n\tRPI_FIRMWARE_GET_MAX_CLOCK_RATE =                     0x00030004,\n\tRPI_FIRMWARE_GET_MAX_VOLTAGE =                        0x00030005,\n\tRPI_FIRMWARE_GET_TEMPERATURE =                        0x00030006,\n\tRPI_FIRMWARE_GET_MIN_CLOCK_RATE =                     0x00030007,\n\tRPI_FIRMWARE_GET_MIN_VOLTAGE =                        0x00030008,\n\tRPI_FIRMWARE_GET_TURBO =                              0x00030009,\n\tRPI_FIRMWARE_GET_MAX_TEMPERATURE =                    0x0003000a,\n\tRPI_FIRMWARE_GET_STC =                                0x0003000b,\n\tRPI_FIRMWARE_ALLOCATE_MEMORY =                        0x0003000c,\n\tRPI_FIRMWARE_LOCK_MEMORY =                            0x0003000d,\n\tRPI_FIRMWARE_UNLOCK_MEMORY =                          0x0003000e,\n\tRPI_FIRMWARE_RELEASE_MEMORY =                         0x0003000f,\n\tRPI_FIRMWARE_EXECUTE_CODE =                           0x00030010,\n\tRPI_FIRMWARE_EXECUTE_QPU =                            0x00030011,\n\tRPI_FIRMWARE_SET_ENABLE_QPU =                         0x00030012,\n\tRPI_FIRMWARE_GET_DISPMANX_RESOURCE_MEM_HANDLE =       0x00030014,\n\tRPI_FIRMWARE_GET_EDID_BLOCK =                         0x00030020,\n\tRPI_FIRMWARE_GET_CUSTOMER_OTP =                       0x00030021,\n\tRPI_FIRMWARE_GET_DOMAIN_STATE =                       0x00030030,\n\tRPI_FIRMWARE_SET_CLOCK_STATE =                        0x00038001,\n\tRPI_FIRMWARE_SET_CLOCK_RATE =                         0x00038002,\n\tRPI_FIRMWARE_SET_VOLTAGE =                            0x00038003,\n\tRPI_FIRMWARE_SET_TURBO =                              0x00038009,\n\tRPI_FIRMWARE_SET_CUSTOMER_OTP =                       0x00038021,\n\tRPI_FIRMWARE_SET_DOMAIN_STATE =                       0x00038030,\n\tRPI_FIRMWARE_GET_GPIO_STATE =                         0x00030041,\n\tRPI_FIRMWARE_SET_GPIO_STATE =                         0x00038041,\n\tRPI_FIRMWARE_SET_SDHOST_CLOCK =                       0x00038042,\n\tRPI_FIRMWARE_GET_GPIO_CONFIG =                        0x00030043,\n\tRPI_FIRMWARE_SET_GPIO_CONFIG =                        0x00038043,\n\tRPI_FIRMWARE_GET_PERIPH_REG =                         0x00030045,\n\tRPI_FIRMWARE_SET_PERIPH_REG =                         0x00038045,\n\n\n\t/* Dispmanx TAGS */\n\tRPI_FIRMWARE_FRAMEBUFFER_ALLOCATE =                   0x00040001,\n\tRPI_FIRMWARE_FRAMEBUFFER_BLANK =                      0x00040002,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PHYSICAL_WIDTH_HEIGHT =  0x00040003,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_WIDTH_HEIGHT =   0x00040004,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_DEPTH =                  0x00040005,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PIXEL_ORDER =            0x00040006,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_ALPHA_MODE =             0x00040007,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PITCH =                  0x00040008,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_VIRTUAL_OFFSET =         0x00040009,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_OVERSCAN =               0x0004000a,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_PALETTE =                0x0004000b,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_TOUCHBUF =               0x0004000f,\n\tRPI_FIRMWARE_FRAMEBUFFER_GET_GPIOVIRTBUF =            0x00040010,\n\tRPI_FIRMWARE_FRAMEBUFFER_RELEASE =                    0x00048001,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PHYSICAL_WIDTH_HEIGHT = 0x00044003,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_WIDTH_HEIGHT =  0x00044004,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_DEPTH =                 0x00044005,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PIXEL_ORDER =           0x00044006,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_ALPHA_MODE =            0x00044007,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VIRTUAL_OFFSET =        0x00044009,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_OVERSCAN =              0x0004400a,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_PALETTE =               0x0004400b,\n\tRPI_FIRMWARE_FRAMEBUFFER_TEST_VSYNC =                 0x0004400e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT =  0x00048003,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT =   0x00048004,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH =                  0x00048005,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PIXEL_ORDER =            0x00048006,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_ALPHA_MODE =             0x00048007,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_OFFSET =         0x00048009,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_OVERSCAN =               0x0004800a,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE =                0x0004800b,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_TOUCHBUF =               0x0004801f,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_GPIOVIRTBUF =            0x00048020,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_VSYNC =                  0x0004800e,\n\tRPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT =              0x0004800f,\n\n\tRPI_FIRMWARE_VCHIQ_INIT =                             0x00048010,\n\n\tRPI_FIRMWARE_GET_COMMAND_LINE =                       0x00050001,\n\tRPI_FIRMWARE_GET_DMA_CHANNELS =                       0x00060001,\n};\n\nu32 mailbox_clock_rate(clock_type ct);\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value);\n\nbool mailbox_power_check(u32 type);\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size);\n"
  },
  {
    "path": "rpi_bm/part17/include/mem.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid *memcpy(void *dest, const void *src, u32 n);\n\n#define GPU_CACHED_BASE\t\t0x40000000\n#define GPU_UNCACHED_BASE\t0xC0000000\n#define GPU_MEM_BASE\tGPU_UNCACHED_BASE\n\n#define BUS_ADDRESS(addr)\t(((addr) & ~0xC0000000) | GPU_MEM_BASE)\n\nvoid *get_free_pages(int num_pages);\nvoid *allocate_memory(int bytes);\nvoid free_memory(void *base);\n\n"
  },
  {
    "path": "rpi_bm/part17/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part17/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#define HIGH_MEMORY             \t0x40000000\n#define PAGING_MEMORY \t\t\t(HIGH_MEMORY - LOW_MEMORY)\n#define PAGING_PAGES \t\t\t(PAGING_MEMORY/PAGE_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part17/include/mmu.h",
    "content": "#pragma once\n\n#define MM_TYPE_PAGE_TABLE\t\t0x3\n#define MM_TYPE_PAGE \t\t\t0x3\n#define MM_TYPE_BLOCK\t\t\t0x1\n#define MM_ACCESS\t\t\t(0x1 << 10)\n#define MM_ACCESS_PERMISSION\t\t(0x01 << 6) \n\n/*\n * Memory region attributes:\n *\n *   n = AttrIndx[2:0]\n *\t\t\tn\tMAIR\n *   DEVICE_nGnRnE\t000\t00000000\n *   NORMAL_NC\t\t001\t01000100\n */\n#define MT_DEVICE_nGnRnE \t\t0x0\n#define MT_NORMAL_NC\t\t\t0x1\n#define MT_DEVICE_nGnRnE_FLAGS\t\t0x00\n#define MT_NORMAL_NC_FLAGS  \t\t0x44\n#define MAIR_VALUE\t\t\t(MT_DEVICE_nGnRnE_FLAGS << (8 * MT_DEVICE_nGnRnE)) | (MT_NORMAL_NC_FLAGS << (8 * MT_NORMAL_NC))\n\n#define ATTRINDX_NORMAL\t\t0\n#define ATTRINDX_DEVICE\t\t1\n#define ATTRINDX_COHERENT\t2\n\n#define MAIR_VALUENEW (0xFF << ATTRINDX_NORMAL*8\t\\\n\t                | 0x04 << ATTRINDX_DEVICE*8\t\\\n\t                | 0x00 << ATTRINDX_COHERENT*8)\n\n\n#define MMU_FLAGS\t \t\t(MM_TYPE_BLOCK | (MT_NORMAL_NC << 2) | MM_ACCESS)\t\n#define MMU_DEVICE_FLAGS\t\t(MM_TYPE_BLOCK | (MT_DEVICE_nGnRnE << 2) | MM_ACCESS)\t\n#define MMU_PTE_FLAGS\t\t\t(MM_TYPE_PAGE | (MT_NORMAL_NC << 2) | MM_ACCESS | MM_ACCESS_PERMISSION)\t\n\n#define TCR_T0SZ\t\t\t(64 - 48) \n#define TCR_T1SZ\t\t\t((64 - 48) << 16)\n#define TCR_TG0_4K\t\t\t(0 << 14)\n#define TCR_TG1_4K\t\t\t(2 << 30)\n#define TCR_VALUE\t\t\t(TCR_T0SZ | TCR_T1SZ | TCR_TG0_4K | TCR_TG1_4K)\n\n// System registers\n#define SCTLR_EL1_WXN\t\t(1 << 19)\t\t// SCTLR_EL1\n#define SCTLR_EL1_I\t\t(1 << 12)\n#define SCTLR_EL1_C\t\t(1 << 2)\n#define SCTLR_EL1_A\t\t(1 << 1)\n#define SCTLR_EL1_M\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n#define DEVICE_START 0x3B400000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n#define DEVICE_START 0xFC000000\n\n#else\n#define PBASE 0\n#define DEVICE_START 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n\n#define CORE_CLOCK_SPEED 1500000000\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/dma.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\ntypedef struct {\n    u32 transfer_info;\n    u32 src_addr;\n    u32 dest_addr;\n    u32 transfer_length;\n    u32 mode_2d_stride;\n    u32 next_block_addr;\n    u32 res[2];\n} dma_control_block;\n\ntypedef struct {\n    u32 control;\n    u32 control_block_addr;\n    dma_control_block block;\n} dma_channel_regs;\n\n#define REGS_DMA(channel) ((dma_channel_regs *)(PBASE + 0x00007000 + (channel * 0x100)))\n\n#define REGS_DMA_INT_STATUS *((volatile u32 *)(PBASE + 0x00007FE0))\n#define REGS_DMA_ENABLE *((volatile u32 *)(PBASE + 0x00007FF0))\n\n//defines for differnet bits of the control and transfer info\n\n#define CS_RESET\t\t\t(1 << 31)\n#define CS_ABORT\t\t\t(1 << 30)\n#define CS_WAIT_FOR_OUTSTANDING_WRITES\t(1 << 28)\n#define CS_PANIC_PRIORITY_SHIFT\t\t20\n    #define DEFAULT_PANIC_PRIORITY\t\t15\n#define CS_PRIORITY_SHIFT\t\t16\n    #define DEFAULT_PRIORITY\t\t1\n#define CS_ERROR\t\t\t(1 << 8)\n#define CS_INT\t\t\t\t(1 << 2)\n#define CS_END\t\t\t\t(1 << 1)\n#define CS_ACTIVE\t\t\t(1 << 0)\n\n\n#define TI_PERMAP_SHIFT\t\t\t16\n#define TI_BURST_LENGTH_SHIFT\t\t12\n#define DEFAULT_BURST_LENGTH\t\t0\n#define TI_SRC_IGNORE\t\t\t(1 << 11)\n#define TI_SRC_DREQ\t\t\t(1 << 10)\n#define TI_SRC_WIDTH\t\t\t(1 << 9)\n#define TI_SRC_INC\t\t\t(1 << 8)\n#define TI_DEST_DREQ\t\t\t(1 << 6)\n#define TI_DEST_WIDTH\t\t\t(1 << 5)\n#define TI_DEST_INC\t\t\t(1 << 4)\n#define TI_WAIT_RESP\t\t\t(1 << 3)\n#define TI_TDMODE\t\t\t(1 << 1)\n#define TI_INTEN\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/emmc.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n\n#include <common.h>\n#include <io.h>\n\n#define EMMC_DEBUG 0\n\n#define BSWAP32(x) (((x << 24) & 0xff000000 ) | \\\n\t\t((x <<  8) & 0x00ff0000 ) | \\\n\t\t((x >>  8) & 0x0000ff00 ) | \\\n\t\t((x >> 24) & 0x000000ff ))\n\ntypedef struct {\n    u8 resp_a : 1;\n    u8 block_count : 1;\n    u8 auto_command : 2;\n    u8 direction : 1;\n    u8 multiblock : 1;\n    u16 resp_b : 10;\n    u8 response_type : 2;\n    u8 res0 : 1;\n    u8 crc_enable : 1;\n    u8 idx_enable : 1;\n    u8 is_data : 1;\n    u8 type : 2;\n    u8 index : 6;\n    u8 res1 : 2;\n} emmc_cmd;\n\n#define RES_CMD {1, 1, 3, 1, 1, 0xF, 3, 1, 1, 1, 1, 3, 0xF, 3}\n\ntypedef enum {\n    RTNone,\n    RT136,\n    RT48,\n    RT48Busy\n} cmd_resp_type;\n\ntypedef enum {\n    CTGoIdle = 0,\n    CTSendCide = 2,\n    CTSendRelativeAddr = 3,\n    CTIOSetOpCond = 5,\n    CTSelectCard = 7,\n    CTSendIfCond = 8,\n    CTSetBlockLen = 16,\n    CTReadBlock = 17,\n    CTReadMultiple = 18,\n    CTWriteBlock = 24,\n    CTWriteMultiple = 25,\n    CTOcrCheck = 41,\n    CTSendSCR = 51,\n    CTApp = 55\n} cmd_type;\n\ntypedef struct {\n    u32 scr[2];\n    u32 bus_widths;\n    u32 version;\n} scr_register;\n\ntypedef enum {\n    SDECommandTimeout,\n    SDECommandCrc,\n    SDECommandEndBit,\n    SDECommandIndex,\n    SDEDataTimeout,\n    SDEDataCrc,\n    SDEDataEndBit,\n    SDECurrentLimit,\n    SDEAutoCmd12,\n    SDEADma,\n    SDETuning,\n    SDERsvd\n} sd_error;\n\ntypedef struct {\n    bool last_success;\n    u32 transfer_blocks;\n    emmc_cmd last_command;\n    reg32 last_command_value;\n    u32 block_size;\n    u32 last_response[4];\n    bool sdhc;\n    u16 ocr;\n    u32 rca;\n    u64 offset;\n    void *buffer;\n    u32 base_clock;\n    u32 last_error;\n    u32 last_interrupt;\n    scr_register scr;\n} emmc_device;\n\ntypedef struct  {\n    reg32 arg2;\n    reg32 block_size_count;\n    reg32 arg1;\n    reg32 cmd_xfer_mode;\n    reg32 response[4];\n    reg32 data;\n    reg32 status;\n    reg32 control[2];\n    reg32 int_flags;\n    reg32 int_mask;\n    reg32 int_enable;\n    reg32 control2;\n    reg32 cap1;\n    reg32 cap2;\n    reg32 res0[2];\n    reg32 force_int;\n    reg32 res1[7];\n    reg32 boot_timeout;\n    reg32 debug_config;\n    reg32 res2[2];\n    reg32 ext_fifo_config;\n    reg32 ext_fifo_enable;\n    reg32 tune_step;\n    reg32 tune_SDR;\n    reg32 tune_DDR;\n    reg32 res3[23];\n    reg32 spi_int_support;\n    reg32 res4[2];\n    reg32 slot_int_status;\n} emmc_regs;\n\n#define TO_REG(p) *((reg32 *)p)\n\n// SD Clock Frequencies (in Hz)\n#define SD_CLOCK_ID         400000\n#define SD_CLOCK_NORMAL     25000000\n#define SD_CLOCK_HIGH       50000000\n#define SD_CLOCK_100        100000000\n#define SD_CLOCK_208        208000000\n#define SD_COMMAND_COMPLETE     1\n#define SD_TRANSFER_COMPLETE    (1 << 1)\n#define SD_BLOCK_GAP_EVENT      (1 << 2)\n#define SD_DMA_INTERRUPT        (1 << 3)\n#define SD_BUFFER_WRITE_READY   (1 << 4)\n#define SD_BUFFER_READ_READY    (1 << 5)\n#define SD_CARD_INSERTION       (1 << 6)\n#define SD_CARD_REMOVAL         (1 << 7)\n#define SD_CARD_INTERRUPT       (1 << 8)\n\n#if RPI_VERSION == 3\n#define EMMC_BASE (PBASE + 0x00300000)\n#else\n#define EMMC_BASE (PBASE + 0x00340000)\n#endif\n\n#define EMMC ((emmc_regs *)EMMC_BASE)\n\nbool emmc_init();\nint emmc_read(u8 *buffer, u32 size);\nvoid emmc_seek(u64 offset);\n\n#define EMMC_CTRL1_RESET_DATA (1 << 26)\n#define EMMC_CTRL1_RESET_CMD (1 << 25)\n#define EMMC_CTRL1_RESET_HOST (1 << 24)\n#define EMMC_CTRL1_RESET_ALL (EMMC_CTRL1_RESET_DATA | EMMC_CTRL1_RESET_CMD | EMMC_CTRL1_RESET_HOST)\n\n#define EMMC_CTRL1_CLK_GENSEL (1 << 5)\n#define EMMC_CTRL1_CLK_ENABLE (1 << 2)\n#define EMMC_CTRL1_CLK_STABLE (1 << 1)\n#define EMMC_CTRL1_CLK_INT_EN (1 << 0)\n\n#define EMMC_CTRL0_ALT_BOOT_EN (1 << 22)\n#define EMMC_CTRL0_BOOT_EN (1 << 21)\n#define EMMC_CTRL0_SPI_MODE (1 << 20)\n\n#define EMMC_STATUS_DAT_INHIBIT (1 << 1)\n#define EMMC_STATUS_CMD_INHIBIT (1 << 0)\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/i2c.h",
    "content": "#pragma once\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nstruct I2CRegs {\n    reg32 control;\n    reg32 status;\n    reg32 data_length;\n    reg32 slave_address;\n    reg32 fifo;\n    reg32 div;\n    reg32 delay;\n    reg32 clock_stretch;\n};\n\n#define REGS_I2C ((struct I2CRegs *)(PBASE + 0x00804000))\n\n// Control register\n#define C_I2CEN\t\t\t(1 << 15)\n#define C_INTR\t\t\t(1 << 10)\n#define C_INTT\t\t\t(1 << 9)\n#define C_INTD\t\t\t(1 << 8)\n#define C_ST\t\t\t(1 << 7)\n#define C_CLEAR\t\t\t(1 << 5)\n#define C_READ\t\t\t(1 << 0)\n\n// Status register\n#define S_CLKT\t\t\t(1 << 9)\n#define S_ERR\t\t\t(1 << 8)\n#define S_RXF\t\t\t(1 << 7)\n#define S_TXE\t\t\t(1 << 6)\n#define S_RXD\t\t\t(1 << 5)\n#define S_TXD\t\t\t(1 << 4)\n#define S_RXR\t\t\t(1 << 3)\n#define S_TXW\t\t\t(1 << 2)\n#define S_DONE\t\t\t(1 << 1)\n#define S_TA\t\t\t(1 << 0)\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nstruct Spi0Regs {\n    reg32 cs;\n    reg32 fifo;\n    reg32 clock;\n    reg32 data_length;\n    reg32 ltoh;\n    reg32 dc;\n};\n\n#define REGS_SPI0 ((struct Spi0Regs *)(PBASE + 0x00204000))\n\n// CS Register\n#define CS_LEN_LONG\t(1 << 25)\n#define CS_DMA_LEN\t(1 << 24)\n#define CS_CSPOL2\t(1 << 23)\n#define CS_CSPOL1\t(1 << 22)\n#define CS_CSPOL0\t(1 << 21)\n#define CS_RXF\t\t(1 << 20)\n#define CS_RXR\t\t(1 << 19)\n#define CS_TXD\t\t(1 << 18)\n#define CS_RXD\t\t(1 << 17)\n#define CS_DONE\t\t(1 << 16)\n#define CS_LEN\t\t(1 << 13)\n#define CS_REN\t\t(1 << 12)\n#define CS_ADCS\t\t(1 << 11)\n#define CS_INTR\t\t(1 << 10)\n#define CS_INTD\t\t(1 << 9)\n#define CS_DMAEN\t(1 << 8)\n#define CS_TA\t\t(1 << 7)\n#define CS_CSPOL\t(1 << 6)\n#define CS_CLEAR_RX\t(1 << 5)\n#define CS_CLEAR_TX\t(1 << 4)\n#define CS_CPOL__SHIFT\t3\n#define CS_CPHA__SHIFT\t2\n#define CS_CS\t\t(1 << 0)\n#define CS_CS__SHIFT\t0\n\n"
  },
  {
    "path": "rpi_bm/part17/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part17/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n#include <io.h>\n\nvoid init_printf(void* putp, io_device *dev);\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part17/include/spi.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid spi_init();\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size);\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size);\nvoid spi_recv(u8 chip_select, u8 *data, u32 size);\n\n"
  },
  {
    "path": "rpi_bm/part17/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n\n#define ESR_ELx_EC_SHIFT\t\t26\n#define ESR_ELx_EC_SVC64\t\t0x15\n#define ESR_ELx_EC_DABT_LOW\t\t0x24\n\n/* Holds the saved process state when an exception is taken to EL3 */\n#define SPSR_EL3_D\t\t(1 << 9) // debug exception mask\n#define SPSR_EL3_A\t\t(1 << 8) // SError interrupt mask\n#define SPSR_EL3_I\t\t(1 << 7) // IRQ interrupt mask\n#define SPSR_EL3_F\t\t(1 << 6) // FIQ interrupt mask\n#define SPSR_EL3_MODE_EL3H\t13 // AArch64 Exception level and selected Stack Pointer, 13 is EL.3h.\n#define SPSR_EL3_MODE_EL1H  5  // AArch64 Exception level and selected Stack Pointer, 5 is EL.1h.\n#define SPSR_EL3_VAL  (SPSR_EL3_D | SPSR_EL3_A | SPSR_EL3_I | SPSR_EL3_F | SPSR_EL3_MODE_EL1H)\n\n#define TCR_TG1_4K     (2 << 30)\n#define TCR_T1SZ       ((64 - 48) << 16)\n#define TCR_TG0_4K     (0 << 14)\n#define TCR_T0SZ       (64 - 48)\n#define TCR_EL1_VAL    (TCR_TG1_4K | TCR_T1SZ | TCR_TG0_4K | TCR_T0SZ)\n\n/* architectural feature access control register */\n#define CPACR_EL1_FPEN    (1 << 21) | (1 << 20) // don't trap SIMD/FP registers\n#define CPACR_EL1_ZEN     (1 << 17) | (1 << 16)  // don't trap SVE instructions\n#define CPACR_EL1_VAL     (CPACR_EL1_FPEN | CPACR_EL1_ZEN)\n\n/* exception syndrome register EL1 (ESR_EL1) */\n#define ESR_ELx_EC_SHIFT 26\n#define ESR_ELx_EC_SVC64 0x15\n#define ESR_ELx_EC_DA_LOW 0x24\n"
  },
  {
    "path": "rpi_bm/part17/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part17/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part17/include/video.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp);\nvoid video_draw_char(char c, u32 pox_x, u32 pos_y);\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y);\nvoid video_draw_pixel(u32 x, u32 y, u32 color);\nvoid video_clear();\nvoid video_dma();\n\n//comes from fontData.c\nu32 font_get_height();\nu32 font_get_width();\nbool font_get_pixel(char ch, u32 x, u32 y);\n"
  },
  {
    "path": "rpi_bm/part17/square_margin",
    "content": ""
  },
  {
    "path": "rpi_bm/part17/src/boot/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n#include \"mmu.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n#if INIT_MMU == 1\n    ldr x0, =CPACR_EL1_VAL\n    msr CPACR_EL1, x0\n\n    ldr x0, =TCR_EL1_VAL\n    msr TCR_EL1, x0\n\n    ldr x0, =MAIR_VALUE\n    msr MAIR_EL1, x0\n#endif\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    mov sp, #LOW_MEMORY\n\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n#if INIT_MMU == 1\n    bl init_mmu\n\n    adrp x0, id_pgd\n    msr ttbr0_el1, x0\n\n    mrs x0, sctlr_el1\n    mov x1, #SCTLR_MMU_ENABLED\n    orr x0, x0, x1\n    msr sctlr_el1, x0\n#endif\n\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n\n.globl id_pgd_addr\nid_pgd_addr:\n    adrp x0, id_pgd\n    ret"
  },
  {
    "path": "rpi_bm/part17/src/boot/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part17/src/dma/dma.c",
    "content": "#include <dma.h>\n#include <mem.h>\n#include <mm.h>\n#include <timer.h>\n#include <printf.h>\n\ndma_channel channels[15];\n\nstatic u16 channel_map = 0x1F35;\n\nstatic u16 allocate_channel(u32 channel) {\n    if (!(channel & ~0x0F)) {\n        if (channel_map & (1 << channel)) {\n            channel_map &= ~(1 << channel);\n            return channel;\n        }\n\n        return -1;\n    }\n\n    u16 i = channel == CT_NORMAL ? 6 : 12;\n\n    for (; i >= 0; i--) {\n        if (channel_map & (1 << i)) {\n            channel_map &= ~(1 << i);\n            return i;\n        }\n    }\n\n    return CT_NONE;\n}\n\ndma_channel *dma_open_channel(u32 channel) {\n    u32 _channel = allocate_channel(channel);\n\n    if (_channel == CT_NONE) {\n        printf(\"INVALID CHANNEL! %d\\n\", channel);\n        return 0;\n    }\n\n    dma_channel *dma = (dma_channel *)&channels[_channel];\n    dma->channel = _channel;\n\n    dma->block = (dma_control_block *)get_free_pages(1);\n    dma->block->res[0] = 0;\n    dma->block->res[1] = 0;\n\n    REGS_DMA_ENABLE |= (1 << dma->channel);\n    timer_sleep(3);\n    REGS_DMA(dma->channel)->control |= CS_RESET;\n\n    while(REGS_DMA(dma->channel)->control & CS_RESET) ;\n\n    return dma;\n}\n\nvoid dma_close_channel(dma_channel *channel) {\n    channel_map |= (1 << channel->channel);\n}\n\nvoid dma_setup_mem_copy(dma_channel *channel, void *dest, void *src, u32 length, u32 burst_length) {\n    channel->block->transfer_info = (burst_length << TI_BURST_LENGTH_SHIFT)\n\t\t\t\t\t\t    | TI_SRC_WIDTH\n\t\t\t\t\t\t    | TI_SRC_INC\n\t\t\t\t\t\t    | TI_DEST_WIDTH\n\t\t\t\t\t\t    | TI_DEST_INC;\n\n    channel->block->src_addr = (u32)src;\n    channel->block->dest_addr = (u32)dest;\n    channel->block->transfer_length = length;\n    channel->block->mode_2d_stride = 0;\n    channel->block->next_block_addr = 0;\n}\n\nvoid dma_start(dma_channel *channel) {\n    REGS_DMA(channel->channel)->control_block_addr = BUS_ADDRESS((u32)channel->block);\n\n    REGS_DMA(channel->channel)->control = CS_WAIT_FOR_OUTSTANDING_WRITES\n\t\t\t\t\t      | (DEFAULT_PANIC_PRIORITY << CS_PANIC_PRIORITY_SHIFT)\n\t\t\t\t\t      | (DEFAULT_PRIORITY << CS_PRIORITY_SHIFT)\n\t\t\t\t\t      | CS_ACTIVE;\n}\n\nbool dma_wait(dma_channel *channel) {\n    while(REGS_DMA(channel->channel)->control & CS_ACTIVE) ;\n\n    channel->status = REGS_DMA(channel->channel)->control & CS_ERROR ? false : true;\n\n    return channel->status;\n\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/emmc/emmc.c",
    "content": "#include <common.h>\n#include <gpio.h>\n#include <mailbox.h>\n#include <timer.h>\n#include <mem.h>\n#include <printf.h>\n#include <peripherals/emmc.h>\n#include <utils.h>\n#include <timer.h>\n\nbool emmc_setup_clock();\nbool switch_clock_rate(u32 base_clock, u32 target_rate);\n\nstatic emmc_device device = {0};\n\nstatic const emmc_cmd INVALID_CMD = RES_CMD;\n\nbool wait_reg_mask(reg32 *reg, u32 mask, bool set, u32 timeout) {\n    for (int cycles = 0; cycles <= timeout; cycles++) {\n        if ((*reg & mask) ? set : !set) {\n            return true;\n        }\n\n        timer_sleep(1);\n    }\n\n    return false;\n}\n\nstatic const emmc_cmd commands[] = {\n    {0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0},\n    RES_CMD,\n    {0, 0, 0, 0, 0, 0, RT136, 0, 1, 0, 0, 0, 2, 0},\n    {0, 0, 0, 0, 0, 0, RT48,  0, 1, 0, 0, 0, 3, 0},\n    {0, 0, 0, 0, 0, 0, 0,     0, 0, 0, 0, 0, 4, 0},\n    {0, 0, 0, 0, 0, 0, RT136, 0, 0, 0, 0, 0, 5, 0},\n    {0, 0, 0, 0, 0, 0, RT48,  0, 1, 0, 0, 0, 6, 0},\n    {0, 0, 0, 0, 0, 0, RT48Busy,  0, 1, 0, 0, 0, 7, 0},\n    {0, 0, 0, 0, 0, 0, RT48,  0, 1, 0, 0, 0, 8, 0},\n    {0, 0, 0, 0, 0, 0, RT136, 0, 1, 0, 0, 0, 9, 0},\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    {0, 0, 0, 0, 0, 0, RT48,  0, 1, 0, 0, 0, 16, 0},\n    {0, 0, 0, 1, 0, 0, RT48,  0, 1, 0, 1, 0, 17, 0},\n    {0, 1, 1, 1, 1, 0, RT48,  0, 1, 0, 1, 0, 18, 0},\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    {0, 0, 0, 0, 0, 0, RT48,  0, 0, 0, 0, 0, 41, 0},\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    {0, 0, 0, 1, 0, 0, RT48,  0, 1, 0, 1, 0, 51, 0},\n    RES_CMD,\n    RES_CMD,\n    RES_CMD,\n    {0, 0, 0, 0, 0, 0, RT48,  0, 1, 0, 0, 0, 55, 0},\n};\n\nstatic u32 sd_error_mask(sd_error err) {\n    return 1 << (16 + (u32)err);\n}\n\nstatic void set_last_error(u32 intr_val) {\n    device.last_error = intr_val & 0xFFFF0000;\n    device.last_interrupt = intr_val;\n}\n\nstatic bool do_data_transfer(emmc_cmd cmd) {\n    u32 wrIrpt = 0;\n    bool write = false;\n\n    if (cmd.direction) {\n        wrIrpt = 1 << 5;\n    } else {\n        wrIrpt = 1 << 4;\n        write = true;\n    }\n\n    u32 *data = (u32 *)device.buffer;\n\n    for (int block = 0; block < device.transfer_blocks; block++) {\n        wait_reg_mask(&EMMC->int_flags, wrIrpt | 0x8000, true, 2000);\n        u32 intr_val = EMMC->int_flags;\n        EMMC->int_flags = wrIrpt | 0x8000;\n        \n        if ((intr_val & (0xffff0000 | wrIrpt)) != wrIrpt) {\n            set_last_error(intr_val);\n            return false;\n        }\n\n\n        u32 length = device.block_size;\n\n        if (write) {\n            for (; length > 0; length -= 4) {\n                EMMC->data = *data++;\n            }\n        } else {\n            for (; length > 0; length -= 4) {\n                *data++ = EMMC->data;\n            }\n        }\n    }\n\n    return true;\n}\n\nstatic bool emmc_issue_command(emmc_cmd cmd, u32 arg, u32 timeout) {\n    device.last_command_value = TO_REG(&cmd);\n    reg32 command_reg = device.last_command_value;\n\n    if (device.transfer_blocks > 0xFFFF) {\n        printf(\"EMMC_ERR: transferBlocks too large: %d\\n\", device.transfer_blocks);\n        return false;\n    }\n\n    EMMC->block_size_count = device.block_size | (device.transfer_blocks << 16);\n    EMMC->arg1 = arg;\n    EMMC->cmd_xfer_mode = command_reg;\n\n    timer_sleep(10);\n\n    int times = 0;\n\n    while(times < timeout) {\n        u32 reg = EMMC->int_flags;\n\n        if (reg & 0x8001) {\n            break;\n        }\n\n        timer_sleep(1);\n        times++;\n    }\n\n    if (times >= timeout) {\n        //just doing a warn for this because sometimes it's ok.\n        printf(\"EMMC_WARN: emmc_issue_command timed out\\n\");\n        device.last_success = false;\n        return false;\n    }\n\n    u32 intr_val = EMMC->int_flags;\n\n    EMMC->int_flags = 0xFFFF0001;\n\n    if ((intr_val & 0xFFFF0001) != 1) {\n\n        if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Error waiting for command interrupt complete: %d\\n\", cmd.index);\n\n        set_last_error(intr_val);\n\n        if (EMMC_DEBUG) printf(\"EMMC_DEBUG: IRQFLAGS: %X - %X - %X\\n\", EMMC->int_flags, EMMC->status, intr_val);\n\n        device.last_success = false;\n        return false;\n    }\n\n    switch(cmd.response_type) {\n        case RT48:\n        case RT48Busy:\n            device.last_response[0] = EMMC->response[0];\n            break;\n\n        case RT136:\n            device.last_response[0] = EMMC->response[0];\n            device.last_response[1] = EMMC->response[1];\n            device.last_response[2] = EMMC->response[2];\n            device.last_response[3] = EMMC->response[3];\n            break;\n    }\n\n    if (cmd.is_data) {\n        do_data_transfer(cmd);\n    }\n\n    if (cmd.response_type == RT48Busy || cmd.is_data) {\n        wait_reg_mask(&EMMC->int_flags, 0x8002, true, 2000);\n        intr_val = EMMC->int_flags;\n\n        EMMC->int_flags = 0xFFFF0002;\n\n        if ((intr_val & 0xFFFF0002) != 2 && (intr_val & 0xFFFF0002) != 0x100002) {\n            set_last_error(intr_val);\n            return false;\n        }\n\n        EMMC->int_flags = 0xFFFF0002;\n    }\n\n    device.last_success = true;\n\n    return true;\n}\n\nstatic bool emmc_command(u32 command, u32 arg, u32 timeout) {\n    if (command & 0x80000000) {\n        //The app command flag is set, shoudl use emmc_app_command instead.\n        printf(\"EMMC_ERR: COMMAND ERROR NOT APP\\n\");\n        return false;\n    }\n\n    device.last_command = commands[command];\n\n    if (TO_REG(&device.last_command) == TO_REG(&INVALID_CMD)) {\n        printf(\"EMMC_ERR: INVALID COMMAND!\\n\");\n        return false;\n    }\n\n    return emmc_issue_command( device.last_command, arg, timeout);\n}\n\nstatic bool reset_command() {\n    EMMC->control[1] |= EMMC_CTRL1_RESET_CMD;\n\n    for (int i=0; i<10000; i++) {\n        if (!( EMMC->control[1] & EMMC_CTRL1_RESET_CMD)) {\n            return true;\n        }\n\n        timer_sleep(1);\n    }\n\n    printf(\"EMMC_ERR: Command line failed to reset properly: %X\\n\",  EMMC->control[1]);\n\n    return false;\n}\n\nbool emmc_app_command(u32 command, u32 arg, u32 timeout) {\n\n    if (commands[command].index >= 60) {\n        printf(\"EMMC_ERR: INVALID APP COMMAND\\n\");\n        return false;\n    }\n\n    device.last_command = commands[CTApp];\n\n    u32 rca = 0;\n\n    if (device.rca) {\n        rca = device.rca << 16;\n    }\n\n    if (emmc_issue_command( device.last_command, rca, 2000)) {\n        device.last_command = commands[command];\n\n        return emmc_issue_command( device.last_command, arg, 2000);\n    }\n\n    return false;\n}\n\nstatic bool check_v2_card() {\n    bool v2Card = false;\n\n    if (!emmc_command( CTSendIfCond, 0x1AA, 200)) {\n        if (device.last_error == 0) {\n            //timeout.\n            printf(\"EMMC_ERR: SEND_IF_COND Timeout\\n\");\n        } else if (device.last_error & (1 << 16)) {\n            //timeout command error\n            if (!reset_command()) {\n                return false;\n            }\n\n            EMMC->int_flags = sd_error_mask(SDECommandTimeout);\n            printf(\"EMMC_ERR: SEND_IF_COND CMD TIMEOUT\\n\");\n        } else {\n            printf(\"EMMC_ERR: Failure sending SEND_IF_COND\\n\");\n            return false;\n        }\n    } else {\n        if ((device.last_response[0] & 0xFFF) != 0x1AA) {\n            printf(\"EMMC_ERR: Unusable SD Card: %X\\n\", device.last_response[0]);\n            return false;\n        }\n\n        v2Card = true;\n    }\n\n    return v2Card;\n}\n\nstatic bool check_usable_card() {\n    if (!emmc_command( CTIOSetOpCond, 0, 1000)) {\n        if (device.last_error == 0) {\n            //timeout.\n            printf(\"EMMC_ERR: CTIOSetOpCond Timeout\\n\");\n        } else if (device.last_error & (1 << 16)) {\n            //timeout command error\n            //this is a normal expected error and calling the reset command will fix it.\n            if (!reset_command()) {\n                return false;\n            }\n\n            EMMC->int_flags = sd_error_mask(SDECommandTimeout);\n        } else {\n            printf(\"EMMC_ERR: SDIO Card not supported\\n\");\n            return false;\n        }\n    }\n\n    return true;\n}\n\nstatic bool check_sdhc_support(bool v2_card) {\n    bool card_busy = true;\n\n    while(card_busy) {\n        u32 v2_flags = 0;\n\n        if (v2_card) {\n            v2_flags |= (1 << 30); //SDHC Support\n        }\n\n        if (!emmc_app_command( CTOcrCheck, 0x00FF8000 | v2_flags, 2000)) {\n            printf(\"EMMC_ERR: APP CMD 41 FAILED 2nd\\n\");\n            return false;\n        }\n\n        if (device.last_response[0] >> 31 & 1) {\n            device.ocr = (device.last_response[0] >> 8 & 0xFFFF);\n            device.sdhc = ((device.last_response[0] >> 30) & 1) != 0;\n            card_busy = false;\n        } else {\n            if (EMMC_DEBUG) printf(\"EMMC_DEBUG: SLEEPING: %X\\n\", device.last_response[0]);\n            timer_sleep(500);\n        }\n    }\n\n    return true;\n}\n\nstatic bool check_ocr() {\n    bool passed = false;\n\n    for (int i=0; i<5; i++) {\n        if (!emmc_app_command(CTOcrCheck, 0, 2000)) {\n            printf(\"EMMC_WARN: APP CMD OCR CHECK TRY %d FAILED\\n\", i + 1);\n            passed = false;\n        } else {\n            passed = true;\n        }\n\n        if (passed) {\n            break;\n        }\n\n        return false;\n    }\n\n    if (!passed) {\n        printf(\"EMMC_ERR: APP CMD 41 FAILED\\n\");\n        return false;\n    }\n\n    device.ocr = (device.last_response[0] >> 8 & 0xFFFF);\n\n    if (EMMC_DEBUG) printf(\"MEMORY OCR: %X\\n\", device.ocr);\n\n    return true;\n}\n\nstatic bool check_rca() {\n    if (!emmc_command( CTSendCide, 0, 2000)) {\n        printf(\"EMMC_ERR: Failed to send CID\\n\");\n\n        return false;\n    }\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: CARD ID: %X.%X.%X.%X\\n\", device.last_response[0], device.last_response[1], device.last_response[2], device.last_response[3]);\n\n    if (!emmc_command( CTSendRelativeAddr, 0, 2000)) {\n        printf(\"EMMC_ERR: Failed to send Relative Addr\\n\");\n\n        return false;\n    }\n\n    device.rca = (device.last_response[0] >> 16) & 0xFFFF;\n    \n    if (EMMC_DEBUG) {\n        printf(\"EMMC_DEBUG: RCA: %X\\n\", device.rca);\n\n        printf(\"EMMC_DEBUG: CRC_ERR: %d\\n\", (device.last_response[0] >> 15) & 1);\n        printf(\"EMMC_DEBUG: CMD_ERR: %d\\n\", (device.last_response[0] >> 14) & 1);\n        printf(\"EMMC_DEBUG: GEN_ERR: %d\\n\", (device.last_response[0] >> 13) & 1);\n        printf(\"EMMC_DEBUG: STS_ERR: %d\\n\", (device.last_response[0] >> 9) & 1);\n        printf(\"EMMC_DEBUG: READY  : %d\\n\", (device.last_response[0] >> 8) & 1);\n    }\n\n    if (!((device.last_response[0] >> 8) & 1)) {\n        printf(\"EMMC_ERR: Failed to read RCA\\n\");\n        return false;\n    }\n\n    return true;\n}\n\nstatic bool select_card() {\n    if (!emmc_command( CTSelectCard, device.rca << 16, 2000)) {\n        printf(\"EMMC_ERR: Failed to select card\\n\");\n        return false;\n    }\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Selected Card\\n\");\n\n    u32 status = (device.last_response[0] >> 9) & 0xF;\n\n    if (status != 3 && status != 4) {\n        printf(\"EMMC_ERR: Invalid Status: %d\\n\", status);\n        return false;\n    }\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Status: %d\\n\", status);\n\n    return true;\n}\n\nstatic bool set_scr() {\n    if (!device.sdhc) {\n        if (!emmc_command( CTSetBlockLen, 512, 2000)) {\n            printf(\"EMMC_ERR: Failed to set block len\\n\");\n            return false;\n        }\n    }\n\n    u32 bsc = EMMC->block_size_count;\n    bsc &= ~0xFFF; //mask off bottom bits\n    bsc |= 0x200; //set bottom bits to 512\n    EMMC->block_size_count = bsc;\n\n    device.buffer = &device.scr.scr[0];\n    device.block_size = 8;\n    device.transfer_blocks = 1;\n\n    if (!emmc_app_command( CTSendSCR, 0, 30000)) {\n        printf(\"EMMC_ERR: Failed to send SCR\\n\");\n        return false;\n    }\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: GOT SRC: SCR0: %X SCR1: %X BWID: %X\\n\", device.scr.scr[0], device.scr.scr[1], device.scr.bus_widths);\n\n    device.block_size = 512;\n\n    u32 scr0 = BSWAP32(device.scr.scr[0]);\n    device.scr.version = 0xFFFFFFFF;\n    u32 spec = (scr0 >> (56 - 32)) & 0xf;\n    u32 spec3 = (scr0 >> (47 - 32)) & 0x1;\n    u32 spec4 = (scr0 >> (42 - 32)) & 0x1;\n\n    if (spec == 0) {\n        device.scr.version = 1;\n    } else if (spec == 1) {\n        device.scr.version = 11;\n    } else if (spec == 2) {\n\n        if (spec3 == 0) {\n            device.scr.version = 2;\n        } else if (spec3 == 1) {\n            if (spec4 == 0) {\n                device.scr.version = 3;\n            }\n            if (spec4 == 1) {\n                device.scr.version = 4;\n            }\n        }\n    }\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: SCR Version: %d\\n\", device.scr.version);\n\n    return true;\n}\n\nstatic bool emmc_card_reset() {\n    EMMC->control[1] = EMMC_CTRL1_RESET_HOST;\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Card resetting...\\n\");\n\n    if (!wait_reg_mask(&EMMC->control[1], EMMC_CTRL1_RESET_ALL, false, 2000)) {\n        printf(\"EMMC_ERR: Card reset timeout!\\n\");\n        return false;\n    }\n\n    #if (RPI_VERSION == 4)\n    //This enabled VDD1 bus power for SD card, needed for RPI 4.\n    u32 c0 = EMMC->control[0];\n    c0 |= 0x0F << 8;\n    EMMC->control[0] = c0;\n    timer_sleep(3);\n    #endif\n\n    if (!emmc_setup_clock()) {\n        return false;\n    }\n\n    //All interrupts go to interrupt register.\n    EMMC->int_enable = 0;\n    EMMC->int_flags = 0xFFFFFFFF;\n    EMMC->int_mask = 0xFFFFFFFF;\n\n    timer_sleep(203);\n\n    device.transfer_blocks = 0;\n    device.last_command_value = 0;\n    device.last_success = false;\n    device.block_size = 0;\n\n    if (!emmc_command( CTGoIdle, 0, 2000)) {\n        printf(\"EMMC_ERR: NO GO_IDLE RESPONSE\\n\");\n        return false;\n    }\n\n    bool v2_card = check_v2_card();    \n\n    if (!check_usable_card()) {\n        return false;\n    }\n\n    if (!check_ocr()) {\n        return false;\n    }\n\n    if (!check_sdhc_support(v2_card)) {\n        return false;\n    }\n\n    switch_clock_rate(device.base_clock, SD_CLOCK_NORMAL);\n\n    timer_sleep(10);\n\n    if (!check_rca()) {\n        return false;\n    }\n\n    if (!select_card()) {\n        return false;\n    }\n\n    if (!set_scr()) {\n        return false;\n    }\n\n    //enable all interrupts\n    EMMC->int_flags = 0xFFFFFFFF;\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Card reset!\\n\");\n\n    return true;\n}\n\nint emmc_io_read(io_device *dev, void *b, u32 size) {\n    return emmc_read((u8 *)b, size);\n}\n\nvoid emmc_io_seek(io_device *dev, u64 offset) {\n    return emmc_seek(offset);\n}\n\nbool do_data_command(bool write, u8 *b, u32 bsize, u32 block_no) {\n    if (!device.sdhc) {\n        block_no *= 512;\n    }\n\n    if (bsize < device.block_size) {\n        printf(\"EMMC_ERR: INVALID BLOCK SIZE: \\n\", bsize, device.block_size);\n        return false;\n    }\n\n    device.transfer_blocks = bsize / device.block_size;\n\n    if (bsize % device.block_size) {\n        printf(\"EMMC_ERR: BAD BLOCK SIZE\\n\");\n        return false;\n    }\n\n    device.buffer = b;\n\n    cmd_type command = CTReadBlock;\n\n    if (write && device.transfer_blocks > 1) {\n        command = CTWriteMultiple;\n    } else if (write) {\n        command = CTWriteBlock;\n    } else if (!write && device.transfer_blocks > 1) {\n        command = CTReadMultiple;\n    } \n\n    int retry_count = 0;\n    int max_retries = 3;\n\n    if (EMMC_DEBUG) printf(\"EMMC_DEBUG: Sending command: %d\\n\", command);\n\n    while(retry_count < max_retries) {\n        if (emmc_command( command, block_no, 5000)) {\n            break;\n        }\n\n        if (++retry_count < max_retries) {\n            printf(\"EMMC_WARN: Retrying data command\\n\");\n        } else {\n            printf(\"EMMC_ERR: Giving up data command\\n\");\n            return false;\n        }\n    }\n\n    return true;\n}\n\nint do_read(u8 *b, u32 bsize, u32 block_no) {\n    //TODO ENSURE DATA MODE...\n\n    if (!do_data_command( false, b, bsize, block_no)) {\n        printf(\"EMMC_ERR: do_data_command failed\\n\");\n        return -1;\n    }\n\n    return bsize;\n}\n\n\nint emmc_read(u8 *buffer, u32 size) {\n    if (device.offset % 512 != 0) {\n        printf(\"EMMC_ERR: INVALID OFFSET: %d\\n\", device.offset);\n        return -1;\n    }\n\n    u32 block = device.offset / 512;\n\n    int r = do_read( buffer, size, block);\n\n    if (r != size) {\n        printf(\"EMMC_ERR: READ FAILED: %d\\n\", r);\n        return -1;\n    }\n\n    return size;\n}\n\nvoid emmc_seek(u64 _offset) {\n    device.offset = _offset;\n}\n\nstatic io_device emmc_io_device = {\n    .name = \"disk\",\n    .data = &device,\n    .read = emmc_io_read,\n    .seek = emmc_io_seek\n};\n\nbool emmc_init() {\n    io_device_register(&emmc_io_device);\n\n    gpio_pin_set_func(34, GFInput);\n    gpio_pin_set_func(35, GFInput);\n    gpio_pin_set_func(36, GFInput);\n    gpio_pin_set_func(37, GFInput);\n    gpio_pin_set_func(38, GFInput);\n    gpio_pin_set_func(39, GFInput);\n\n    gpio_pin_set_func(48, GFAlt3);\n    gpio_pin_set_func(49, GFAlt3);\n    gpio_pin_set_func(50, GFAlt3);\n    gpio_pin_set_func(51, GFAlt3);\n    gpio_pin_set_func(52, GFAlt3);\n    \n    device.transfer_blocks = 0;\n    device.last_command_value = 0;\n    device.last_success = false;\n    device.block_size = 0;\n    device.sdhc = false;\n    device.ocr = 0;\n    device.rca = 0;\n    device.offset = 0;\n    device.base_clock = 0;\n\n    bool success = false;\n    for (int i=0; i<10; i++) {\n        success = emmc_card_reset();\n\n        if (success) {\n            break;\n        }\n\n        timer_sleep(100);\n        printf(\"EMMC_WARN: Failed to reset card, trying again...\\n\");\n    }\n\n    if (!success) {\n        return false;\n    }\n\n    return true;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/emmc/emmc_clock.c",
    "content": "#include \"peripherals/emmc.h\"\n#include <mailbox.h>\n#include <printf.h>\n\nbool wait_reg_mask(reg32 *reg, u32 mask, bool set, u32 timeout);\n\nu32 get_clock_divider(u32 base_clock, u32 target_rate) {\n    u32 target_div = 1;\n\n    if (target_rate <= base_clock) {\n        target_div = base_clock / target_rate;\n\n        if (base_clock % target_rate) {\n            target_div = 0;\n        }\n    }\n\n    int div = -1;\n    for (int fb = 31; fb >= 0; fb--) {\n        u32 bt = (1 << fb);\n\n        if (target_div & bt) {\n            div = fb;\n            target_div &= ~(bt);\n\n            if (target_div) {\n                div++;\n            }\n\n            break;\n        }\n    }\n\n    if (div == -1) {\n        div = 31;\n    }\n\n    if (div >= 32) {\n        div = 31;\n    }\n\n    if (div != 0) {\n        div = (1 << (div - 1));\n    }\n\n    if (div >= 0x400) {\n        div = 0x3FF;\n    }\n\n    u32 freqSel = div & 0xff;\n    u32 upper = (div >> 8) & 0x3;\n    u32 ret = (freqSel << 8) | (upper << 6) | (0 << 5);\n\n    return ret;\n}\n\nbool switch_clock_rate(u32 base_clock, u32 target_rate) {\n    u32 divider = get_clock_divider(base_clock, target_rate);\n\n    while((EMMC->status & (EMMC_STATUS_CMD_INHIBIT | EMMC_STATUS_DAT_INHIBIT))) {\n        timer_sleep(1);\n    }\n\n    u32 c1 = EMMC->control[1] & ~EMMC_CTRL1_CLK_ENABLE;\n\n    EMMC->control[1] = c1;\n\n    timer_sleep(3);\n\n    EMMC->control[1] = (c1 | divider) & ~0xFFE0;\n\n    timer_sleep(3);\n\n    EMMC->control[1] = c1 | EMMC_CTRL1_CLK_ENABLE;\n\n    timer_sleep(3);\n\n    return true;\n}\n\nbool emmc_setup_clock() {\n    EMMC->control2 = 0;\n\n    u32 rate = mailbox_clock_rate(CT_EMMC);\n\n    u32 n = EMMC->control[1];\n    n |= EMMC_CTRL1_CLK_INT_EN;\n    n |= get_clock_divider(rate, SD_CLOCK_ID);\n    n &= ~(0xf << 16);\n    n |= (11 << 16);\n\n    EMMC->control[1] = n;\n\n    if (!wait_reg_mask(&EMMC->control[1], EMMC_CTRL1_CLK_STABLE, true, 2000)) {\n        printf(\"EMMC_ERR: SD CLOCK NOT STABLE\\n\");\n        return false;\n    }\n\n    timer_sleep(30);\n\n    //enabling the clock\n    EMMC->control[1] |= 4;\n\n    timer_sleep(30);\n\n    return true;\n}\n\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/gpio/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/i2c/i2c.c",
    "content": "#include \"gpio.h\"\n#include \"peripherals/i2c.h\"\n#include \"i2c.h\"\n#include \"printf.h\"\n\n#define I2C_SPEED 100000\n\nvoid i2c_init() {\n    gpio_pin_set_func(2, GFAlt0);\n    gpio_pin_set_func(3, GFAlt0);\n    gpio_pin_enable(2);\n    gpio_pin_enable(3);\n\n    REGS_I2C->div = CORE_CLOCK_SPEED / I2C_SPEED;\n}\n\ni2c_status i2c_recv(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST | C_READ;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(REGS_I2C->status & S_RXD) {\n            *buffer++ = REGS_I2C->fifo & 0xFF;\n            count++;\n        }\n    }\n\n    while(count < size && REGS_I2C->status & S_RXD) {\n        *buffer++ = REGS_I2C->fifo & 0xFF;\n        count++;\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n\ni2c_status i2c_send(u8 address, u8 *buffer, u32 size) {\n    int count = 0;\n\n    REGS_I2C->slave_address = address;\n    REGS_I2C->control = C_CLEAR;\n    REGS_I2C->status = S_CLKT | S_ERR | S_DONE;\n    REGS_I2C->data_length = size;\n    REGS_I2C->control = C_I2CEN | C_ST;\n\n    while(!(REGS_I2C->status & S_DONE)) {\n        while(count < size && REGS_I2C->status & S_TXD) {\n            REGS_I2C->fifo = *buffer++;\n            count++;\n        }\n    }\n\n    reg32 status = REGS_I2C->status;\n\n    REGS_I2C->status = S_DONE;\n\n    if (status & S_ERR) {\n        return I2CS_ACK_ERROR;\n    } else if (status & S_CLKT) {\n        return I2CS_CLOCK_TIMEOUT;\n    } else if (count < size) {\n        return I2CS_DATA_LOSS;\n    }\n\n    return I2CS_SUCCESS;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/i2c/lcd.c",
    "content": "#include \"lcd.h\"\n#include \"i2c.h\"\n#include \"timer.h\"\n#include \"printf.h\"\n\n/*\n   P0 -> RS\n   P1 -> RW\n   P2 -> E\n   P3 -> BT (Backlight)\n   P4 -> D4\n   P5 -> D5\n   P6 -> D6\n   P7 -> D7\n\n*/\n\ntypedef enum Flags {\n    FLAG_RS = 1,\n    FLAG_RW = 2,\n    FLAG_EN = 4\n};\n\n// commands\n#define LCD_CLEARDISPLAY 0x01\n#define LCD_RETURNHOME 0x02\n#define LCD_ENTRYMODESET 0x04\n#define LCD_DISPLAYCONTROL 0x08\n#define LCD_CURSORSHIFT 0x10\n#define LCD_FUNCTIONSET 0x20\n#define LCD_SETCGRAMADDR 0x40\n#define LCD_SETDDRAMADDR 0x80\n\n// flags for display entry mode\n#define LCD_ENTRYRIGHT 0x00\n#define LCD_ENTRYLEFT 0x02\n#define LCD_ENTRYSHIFTINCREMENT 0x01\n#define LCD_ENTRYSHIFTDECREMENT 0x00\n\n// flags for display on/off control\n#define LCD_DISPLAYON 0x04\n#define LCD_DISPLAYOFF 0x00\n#define LCD_CURSORON 0x02\n#define LCD_CURSOROFF 0x00\n#define LCD_BLINKON 0x01\n#define LCD_BLINKOFF 0x00\n\n// flags for display/cursor shift\n#define LCD_DISPLAYMOVE 0x08\n#define LCD_CURSORMOVE 0x00\n#define LCD_MOVERIGHT 0x04\n#define LCD_MOVELEFT 0x00\n\n// flags for function set\n#define LCD_8BITMODE 0x10\n#define LCD_4BITMODE 0x00\n#define LCD_2LINE 0x08\n#define LCD_1LINE 0x00\n#define LCD_5x10DOTS 0x04\n#define LCD_5x8DOTS 0x00\n\n#define LCD_BACKLIGHT 8\n#define LCD_NOBACKLIGHT 0\n\nstatic u8 _backlight = LCD_BACKLIGHT;\nstatic u8 _lcd_address = 0;\n\nstatic void write_i2c(u8 data) {\n    u8 value = data | _backlight;\n    i2c_send(_lcd_address, &value, 1);\n}\n\n//page 33\nstatic void pulse(u8 data) {\n    write_i2c(data | FLAG_EN);\n    timer_sleep(5);\n\n    write_i2c(data & ~FLAG_EN);\n    timer_sleep(1);\n}\n\nstatic void write_4bits(u8 data) {\n    write_i2c(data);\n    pulse(data);\n}\n\nvoid lcd_send(u8 data, u8 mode) {\n    write_4bits((data & 0xF0) | mode);\n    write_4bits(((data << 4) & 0xF0) | mode);\n}\n\nvoid lcd_command(u8 command) {\n    lcd_send(command, 0);\n}\n\nvoid lcd_init(u8 address) {\n    _lcd_address = address;\n\n    //page 46\n    write_4bits(3 << 4);\n    timer_sleep(5);\n    write_4bits(3 << 4);\n    timer_sleep(1);\n    write_4bits(3 << 4);\n    write_4bits(2 << 4);\n\n    lcd_command(LCD_FUNCTIONSET | LCD_2LINE | LCD_5x8DOTS | LCD_4BITMODE);\n    lcd_command(LCD_DISPLAYCONTROL | LCD_DISPLAYON);\n    lcd_command(LCD_CLEARDISPLAY);\n    timer_sleep(2);\n\n    lcd_command(LCD_ENTRYMODESET | LCD_ENTRYLEFT);\n\n    lcd_command(LCD_RETURNHOME);\n    timer_sleep(2);\n}\n\nvoid lcd_backlight(bool on) {\n    if (on) {\n        _backlight = LCD_BACKLIGHT;\n    } else {\n        _backlight = LCD_NOBACKLIGHT;\n    }\n\n    write_i2c(0);\n}\n\n//page 42 : 6\nvoid lcd_print(char *s) {\n    while(*s) {\n        lcd_send(*s, FLAG_RS);\n        s++;\n    }\n}"
  },
  {
    "path": "rpi_bm/part17/src/drivers/mailbox/mailbox.c",
    "content": "#include <mailbox.h>\n#include <peripherals/base.h>\n#include \"printf.h\"\n#include <mem.h>\n\ntypedef struct {\n    reg32 read;\n    reg32 res[5];\n    reg32 status;\n    reg32 config;\n    reg32 write;\n} mailbox_regs;\n\nmailbox_regs *MBX() {\n    return (mailbox_regs *)(PBASE + 0xB880);\n}\n\ntypedef struct {\n    u32 size;\n    u32 code;\n    u8 tags[0];\n} property_buffer;\n\nstatic u32 property_data[8192] __attribute__((aligned(16)));\n\n#define MAIL_EMPTY 0x40000000\n#define MAIL_FULL  0x80000000\n\n#define MAIL_POWER    0x0 // Mailbox Channel 0: Power Management Interface\n#define MAIL_FB       0x1 // Mailbox Channel 1: Frame Buffer\n#define MAIL_VUART    0x2 // Mailbox Channel 2: Virtual UART\n#define MAIL_VCHIQ    0x3 // Mailbox Channel 3: VCHIQ Interface\n#define MAIL_LEDS     0x4 // Mailbox Channel 4: LEDs Interface\n#define MAIL_BUTTONS  0x5 // Mailbox Channel 5: Buttons Interface\n#define MAIL_TOUCH    0x6 // Mailbox Channel 6: Touchscreen Interface\n#define MAIL_COUNT    0x7 // Mailbox Channel 7: Counter\n#define MAIL_TAGS     0x8 // Mailbox Channel 8: Tags (ARM to VC)\n\nstatic void mailbox_write(u8 channel, u32 data) {\n    while(MBX()->status & MAIL_FULL) ;\n\n    MBX()->write = (data & 0xFFFFFFF0 | (channel & 0xF));\n}\n\nstatic u32 mailbox_read(u8 channel) {\n    while(true) {\n        while(MBX()->status & MAIL_EMPTY) ;\n\n        u32 data = MBX()->read;\n\n        u8 read_channel = (u8)(data & 0xF);\n\n        if (read_channel == channel) {\n            return data & 0xFFFFFFF0;\n        }\n    }\n}\n\nbool mailbox_process(mailbox_tag *tag, u32 tag_size) {\n    int buffer_size = tag_size + 12;\n\n    memcpy(&property_data[2], tag, tag_size);\n\n    property_buffer *buff = (property_buffer *)property_data;\n    buff->size = buffer_size;\n    buff->code = RPI_FIRMWARE_STATUS_REQUEST;\n    property_data[(tag_size + 12) / 4 - 1] = RPI_FIRMWARE_PROPERTY_END;\n\n    mailbox_write(MAIL_TAGS, (u32)(void *)property_data);\n\n    int result = mailbox_read(MAIL_TAGS);\n\n    memcpy(tag, property_data + 2, tag_size);\n\n    return true;\n}\n\nbool mailbox_generic_command(u32 tag_id, u32 id, u32 *value) {\n    mailbox_generic mbx;\n    mbx.tag.id = tag_id;\n    mbx.tag.value_length = 0;\n    mbx.tag.buffer_size = sizeof(mailbox_generic) - sizeof(mailbox_tag);\n    mbx.id = id;\n    mbx.value = *value;\n\n    if (!mailbox_process((mailbox_tag *)&mbx, sizeof(mbx))) {\n        printf(\"FAILED TO PROCESS: %X\\n\", tag_id);\n        return false;\n    }\n\n    *value = mbx.value;\n\n    return true;\n}\n\nu32 mailbox_clock_rate(clock_type ct) {\n    mailbox_clock c;\n    c.tag.id = RPI_FIRMWARE_GET_CLOCK_RATE;\n    c.tag.value_length = 0;\n    c.tag.buffer_size = sizeof(c) - sizeof(c.tag);\n    c.id = ct;\n\n    mailbox_process((mailbox_tag *)&c, sizeof(c));\n\n    return c.rate;\n}\n\nbool mailbox_power_check(u32 type) {\n    mailbox_power p;\n    p.tag.id = RPI_FIRMWARE_GET_DOMAIN_STATE;\n    p.tag.value_length = 0;\n    p.tag.buffer_size = sizeof(p) - sizeof(p.tag);\n    p.id = type;\n    p.state = ~0;\n\n    mailbox_process((mailbox_tag *)&p, sizeof(p));\n\n    return p.state && p.state != ~0;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/muart/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include <io.h>\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n\nint muart_read(struct _io_device *d, void *buff, u32 size) {\n    u8 *buffer = buff;\n\n    for (u32 i=0; i<size; i++) {\n        *buffer++ = uart_recv();\n    }\n\n    return size;\n}\n\nint muart_write(struct _io_device *d, void *buff, u32 size) {\n    u8 *buffer = buff;\n    \n    for (u32 i=0; i<size; i++) {\n        char c = *buffer++;\n\n        if (c == '\\n') {\n            size++;\n            uart_send('\\r');\n        }\n\n        uart_send(c);\n    }\n\n    return size;\n}\n\nio_device muart_device = {0};\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n\n    muart_device.name = \"muart\";\n    muart_device.read = muart_read;\n    muart_device.write = muart_write;\n\n    io_device_register(&muart_device);\n}\n\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/shared/io.c",
    "content": "#include <io.h>\n\n#define MAX_DEVS 10\n\nstatic io_device *devices[MAX_DEVS] = {0};\n\nbool io_device_register(io_device *dev) {\n    for (int i=0; i<MAX_DEVS; i++) {\n        if (devices[i] == 0) {\n            devices[i] = dev;\n            return true;\n        }\n    }\n\n    return false;\n}\n\nio_device *io_device_find(char *name) {\n    for (int i=0; i<MAX_DEVS; i++) {\n        if (str_eq(devices[i]->name, name)) {\n            return devices[i];\n        }\n    }\n\n    return 0;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/spi/led_display.c",
    "content": "#include \"led_display.h\"\n#include \"spi.h\"\n\nconst static u8 DIGIT_TABLE [] = {\n    0b01111110,0b00110000,0b01101101,0b01111001,0b00110011,0b01011011,0b01011111,0b01110000,\n    0b01111111,0b01111011\n};\n\nvoid led_display_init() {\n    led_display_send_command(LD_SCANLIMIT, 7);\n    led_display_send_command(LD_DECODE_MODE, 0);\n    led_display_send_command(LD_SHUTDOWN, 1);\n    led_display_send_command(LD_INTENSITY, 0);\n    led_display_send_command(LD_DISPLAYTEST, 0);\n    led_display_intensity(5);\n}\n\nvoid led_display_send_command(u8 opcode, u8 data) {\n    u8 cmd[2];\n    cmd[0] = opcode;\n    cmd[1] = data;\n\n    spi_send(0, cmd, 2);\n}\n\nvoid led_display_clear() {\n    for (int i=LD_DIGIT0; i<=LD_DIGIT7; i++) {\n        led_display_send_command(i, 0);\n    }\n}\n\nvoid led_display_intensity(u8 value) {\n    led_display_send_command(LD_INTENSITY, value);\n}\n\nvoid led_display_set_digit(u8 digit, u8 value, bool dot) {\n    u8 digit_value = DIGIT_TABLE[value];\n\n    if (dot) {\n        digit_value |= 0x80;\n    }\n\n    led_display_send_command(LD_DIGIT0 + digit, digit_value);\n}\n\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/spi/spi.c",
    "content": "#include \"spi.h\"\n#include \"peripherals/spi.h\"\n#include \"gpio.h\"\n#include \"printf.h\"\n\nvoid spi_init() {\n    gpio_pin_set_func(7, GFAlt0); //CS1\n    gpio_pin_set_func(8, GFAlt0); //CS0  -> CS  (red)\n    gpio_pin_set_func(9, GFAlt0); //MISO \n    gpio_pin_set_func(10, GFAlt0);//MOSI -> DIN (brown)\n    gpio_pin_set_func(11, GFAlt0);//SCLK -> CLK (orange)\n    gpio_pin_enable(7);\n    gpio_pin_enable(8);\n    gpio_pin_enable(9);\n    gpio_pin_enable(10);\n    gpio_pin_enable(11);\n}\n\nvoid spi_send_recv(u8 chip_select, u8 *sbuffer, u8 *rbuffer, u32 size) {\n    REGS_SPI0->data_length = size;\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_CS) | (chip_select << CS_CS__SHIFT) |\n        CS_CLEAR_RX | CS_CLEAR_TX | CS_TA;\n    \n    u32 read_count = 0;\n    u32 write_count = 0;\n\n    while(read_count < size || write_count < size) {\n        while(write_count < size && REGS_SPI0->cs & CS_TXD) {\n            if (sbuffer) {\n                REGS_SPI0->fifo = *sbuffer++;\n            } else {\n                REGS_SPI0->fifo = 0;\n            }\n\n            write_count++;\n        }\n\n        while(read_count < size && REGS_SPI0->cs & CS_RXD) {\n            u32 data = REGS_SPI0->fifo;\n\n            if (rbuffer) {\n                *rbuffer++ = data;\n            }\n\n            read_count++;\n        }\n    }\n\n    while(!(REGS_SPI0->cs & CS_DONE)) {\n        while(REGS_SPI0->cs & CS_RXD) {\n            u32 r = REGS_SPI0->fifo;\n            printf(\"Left Over: %d\\n\", r);\n        }\n    }\n\n    REGS_SPI0->cs = (REGS_SPI0->cs & ~CS_TA);\n}\n\nvoid spi_send(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, data, 0, size);\n}\n\nvoid spi_recv(u8 chip_select, u8 *data, u32 size) {\n    spi_send_recv(chip_select, 0, data, size);\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/video/fontData.c",
    "content": "// lat1-16 console font (ISO-8859-1)\n//\n// Taken from the Linux \"kbd - Keyboard and Font Utilities\" package\n// by Andries Brouwer <aeb@cwi.nl>\n//    Alexey Gladkov <gladkov.alexey@gmail.com>\n//    Portions by Paul Gortmaker\n//    Licensed under GPLv2+\n//\n\n#include \"common.h\"\n\nstatic const unsigned width       = 8;\nstatic const unsigned height      = 16;\nstatic const unsigned extraheight = 3;\n\nstatic const unsigned char font_data[224][16] =\n{\n\t{0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0x7C, 0x16, 0x16, 0xD6, 0x7C, 0x10, 0x10, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xCE, 0xCE, 0xD6, 0xD6, 0xE6, 0xE6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00, 0x00},\n\t{0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x64, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0x7E, 0x5A, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x6C, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0xEE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xC6, 0xC6, 0x6C, 0x7C, 0x38, 0x38, 0x7C, 0x6C, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xFE, 0xC6, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC2, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00},\n\t{0x00, 0x30, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C, 0x00},\n\t{0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xFE, 0xD6, 0xD6, 0xD6, 0xD6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xD6, 0xD6, 0xFE, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x6C, 0x38, 0x38, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC3, 0x99, 0x99, 0xF3, 0xE7, 0xE7, 0xFF, 0xE7, 0xE7, 0x7E, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x10, 0x7C, 0xD6, 0xD0, 0xD0, 0xD0, 0xD6, 0x7C, 0x10, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x60, 0x60, 0xF0, 0x60, 0x60, 0x66, 0xF6, 0x6C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0xC6, 0x7C, 0x6C, 0x6C, 0x7C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x66, 0x66, 0x3C, 0x18, 0x7E, 0x18, 0x7E, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x7C, 0xC6, 0x60, 0x38, 0x6C, 0xC6, 0xC6, 0x6C, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0x99, 0xA5, 0xA1, 0xA5, 0x99, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x6C, 0x6C, 0x3E, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6C, 0xD8, 0x6C, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x42, 0xB9, 0xA5, 0xB9, 0xA5, 0xA5, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x30, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x18, 0x6C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF6, 0xC0, 0xC0, 0xC0, 0x00},\n\t{0x00, 0x00, 0x7F, 0xD6, 0xD6, 0x76, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x6C, 0x38, 0x00},\n\t{0x30, 0x70, 0x30, 0x30, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x6C, 0x36, 0x6C, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x60, 0xE0, 0x60, 0x60, 0xF6, 0x0C, 0x18, 0x30, 0x6E, 0xDB, 0x06, 0x0C, 0x1F, 0x00, 0x00, 0x00},\n\t{0x70, 0xD8, 0x30, 0xD8, 0x76, 0x0C, 0x18, 0x30, 0x66, 0xCE, 0x1A, 0x3F, 0x06, 0x06, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x30, 0x60, 0xC6, 0xC6, 0x7C, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x38, 0x6C, 0x38, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3E, 0x78, 0xD8, 0xD8, 0xFC, 0xD8, 0xD8, 0xD8, 0xD8, 0xDE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x0C, 0x66, 0x3C, 0x00},\n\t{0x60, 0x30, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xFE, 0x66, 0x60, 0x60, 0x7C, 0x60, 0x60, 0x66, 0xFE, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x08, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x18, 0x3C, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x66, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0xF6, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7E, 0xC6, 0xCE, 0xCE, 0xDE, 0xF6, 0xE6, 0xE6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x60, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x0C, 0x18, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x10, 0x38, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x06, 0x0C, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xCC, 0xC6, 0xC6, 0xC6, 0xD6, 0xDC, 0x80, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x38, 0x6C, 0x38, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xDB, 0x1B, 0x7F, 0xD8, 0xDB, 0x7E, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x18, 0x6C, 0x38, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x3C, 0x66, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x78, 0x30, 0x78, 0x0C, 0x7E, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x10, 0x38, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x76, 0xDC, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7E, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xCE, 0xDE, 0xFE, 0xF6, 0xE6, 0xFC, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x60, 0x30, 0x18, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x18, 0x30, 0x60, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x30, 0x78, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00, 0x00},\n\t{0x00, 0x0C, 0x18, 0x30, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00},\n\t{0x00, 0x00, 0xF0, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0, 0x00, 0x00},\n\t{0x00, 0x00, 0x00, 0x6C, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8, 0x00}\n};\n\n#define FIRSTCHAR\t0x21\n#define LASTCHAR\t0xFF\n#define CHARCOUNT\t(LASTCHAR - FIRSTCHAR + 1)\n\nu32 font_get_height() {\n    return height + extraheight;\n}\n\nu32 font_get_width() {\n    return width;\n}\n\nbool font_get_pixel(char ch, u32 x, u32 y) {\n    if (ch < FIRSTCHAR || ch > LASTCHAR) {\n        return false;\n    }\n\n    u32 index = ch - FIRSTCHAR;\n    if (y >= height) {\n        return false;\n    }\n\n    return font_data[index][y] & (0x80 >> x) ? true : false;\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/drivers/video/video.c",
    "content": "#include \"mailbox.h\"\n#include \"printf.h\"\n#include \"timer.h\"\n#include \"video.h\"\n#include \"dma.h\"\n#include \"mm.h\"\n#include \"mem.h\"\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 xres;\n    u32 yres;\n} mailbox_fb_size;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 bpp;\n} mailbox_fb_depth;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 pitch;\n} mailbox_fb_pitch;\n\ntypedef struct {\n    mailbox_tag tag;\n    u32 base; \n    u32 screen_size;\n} mailbox_fb_buffer;\n\ntypedef struct {\n    mailbox_fb_size res;\n    mailbox_fb_size vres; //virtual resolution..\n    mailbox_fb_depth depth;\n    mailbox_fb_buffer buff;\n    mailbox_fb_pitch pitch;\n} mailbox_fb_request;\n\nstatic mailbox_fb_request fb_req;\n\nstatic dma_channel *dma;\nstatic u8 *vid_buffer;\n\nstatic u32 *bg32_buffer;\nstatic u32 *bg8_buffer;\n\n#define TEXT_COLOR 0xFFFFFFFF\n#define BACK_COLOR 0xFF0055BB\n\n#define MB (1024 * 1024)\n\nvoid video_init() {\n    dma = dma_open_channel(CT_NORMAL);\n    vid_buffer = (u8 *)allocate_memory(10 * MB);\n\n    printf(\"DMA CHANNEL: %d\\n\", dma->channel);\n    printf(\"VID BUFF: %X\\n\", vid_buffer);\n\n    bg32_buffer = (u32 *)allocate_memory(10 * MB);\n    bg8_buffer = (u32 *)allocate_memory(4 * MB);\n\n    for (int i=0; i<(10 * MB) / 4; i++) {\n        bg32_buffer[i] = BACK_COLOR;\n    }\n\n    for (int i=0; i<(4 * MB) / 4; i++) {\n        bg8_buffer[i] = 0x01010101;\n    }\n}\n\nstatic bool use_dma = false;\n\n#define BUS_ADDR(x) (((u64)x | 0x40000000) & ~0xC0000000)\n\n#define FRAMEBUFFER ((volatile u8 *)BUS_ADDR(fb_req.buff.base))\n#define DMABUFFER ((volatile u8 *)vid_buffer)\n#define DRAWBUFFER (use_dma ? DMABUFFER : FRAMEBUFFER)\n\nvoid video_set_dma(bool b) {\n    use_dma = b;\n}\n\nvoid do_dma(void *dest, void *src, u32 total) {\n\n    u32 ms_start = timer_get_ticks() / 1000;\n\n    u32 start = 0;\n\n    while(total > 0) {\n        int num_bytes = total;\n\n        if (num_bytes > 0xFFFFFF) {\n            num_bytes = 0xFFFFFF;\n        }\n        \n        dma_setup_mem_copy(dma, dest + start, src + start, num_bytes, 2);\n        \n        dma_start(dma);\n\n        dma_wait(dma);\n\n        start += num_bytes;\n        total -= num_bytes;\n    }\n\n    u32 ms_end = timer_get_ticks() / 1000;\n    //ms ticks when done...\n\n    printf(\"DMA took %d ms\\n\", (ms_end - ms_start));\n}\n\nvoid video_dma() {\n    do_dma(FRAMEBUFFER, DMABUFFER, fb_req.buff.screen_size);\n}\n\ntypedef struct  {\n    mailbox_tag tag;\n    u32 offset;\n    u32 num_entries;\n    u32 entries[8];\n} mailbox_set_palette;\n\nvoid video_set_resolution(u32 xres, u32 yres, u32 bpp) {\n\n    fb_req.res.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PHYSICAL_WIDTH_HEIGHT;\n    fb_req.res.tag.buffer_size = 8;\n    fb_req.res.tag.value_length = 8;\n    fb_req.res.xres = xres;\n    fb_req.res.yres = yres;\n    \n    fb_req.vres.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_VIRTUAL_WIDTH_HEIGHT;\n    fb_req.vres.tag.buffer_size = 8;\n    fb_req.vres.tag.value_length = 8;\n    fb_req.vres.xres = xres;\n    fb_req.vres.yres = yres;\n\n    fb_req.depth.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_DEPTH;\n    fb_req.depth.tag.buffer_size = 4;\n    fb_req.depth.tag.value_length = 4;\n    fb_req.depth.bpp = bpp;\n\n    fb_req.buff.tag.id = RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE;\n    fb_req.buff.tag.buffer_size = 8;\n    fb_req.buff.tag.value_length = 4;\n    fb_req.buff.base = 16;\n    fb_req.buff.screen_size = 0;\n\n    fb_req.pitch.tag.id = RPI_FIRMWARE_FRAMEBUFFER_GET_PITCH;\n    fb_req.pitch.tag.buffer_size = 4;\n    fb_req.pitch.tag.value_length = 4;\n    fb_req.pitch.pitch = 0;\n\n    mailbox_set_palette palette;\n    palette.tag.id = RPI_FIRMWARE_FRAMEBUFFER_SET_PALETTE;\n    palette.tag.buffer_size = 40;\n    palette.tag.value_length = 0;\n    palette.offset = 0;\n    palette.num_entries = 8;\n    palette.entries[0] = 0;\n    palette.entries[1] = 0xFFBB5500;\n    palette.entries[2] = 0xFFFFFFFF;\n    palette.entries[3] = 0xFFFF0000;\n    palette.entries[4] = 0xFF00FF00;\n    palette.entries[5] = 0xFF0000FF;\n    palette.entries[6] = 0x55555555;\n    palette.entries[7] = 0xCCCCCCCC;\n\n    //sets the actual resolution\n    mailbox_process((mailbox_tag *)&fb_req, sizeof(fb_req));\n\n    printf(\"Allocated Buffer: %X - %d - %d\\n\", fb_req.buff.base, fb_req.buff.screen_size, fb_req.depth.bpp);\n\n    if (bpp == 8) {\n        mailbox_process((mailbox_tag *)&palette, sizeof(palette));\n    }\n\n    //draw some text showing what resolution is...\n\n    char res[64];\n\n    for (int i=0; i<4; i++) {\n        u64 ms_start = timer_get_ticks() / 1000; //get ticks in ms before drawing on screen...\n\n        if (fb_req.depth.bpp == 32) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg32_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg32_buffer, fb_req.buff.screen_size);\n            }\n        }\n        else if (fb_req.depth.bpp == 8) {\n\n            if (!use_dma) {\n                u32 *buff = (u32 *)FRAMEBUFFER;\n                for (int i=0; i<fb_req.buff.screen_size / 4; i++) {\n                    buff[i] = bg8_buffer[i];\n                }\n            } else {\n                do_dma(BUS_ADDR(vid_buffer), bg8_buffer, fb_req.buff.screen_size);\n            }\n        }\n\n        u64 ms_end = timer_get_ticks() / 1000;\n\n        u32 ms_buff = ms_end - ms_start;\n\n        u64 ms_before_draw = ms_end;\n        \n        if (use_dma) {\n            video_dma();\n        }\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"Resolution: %d x %d x %d\", xres, yres, bpp);\n        video_draw_string(res, 20, 20 + (i * 20));\n\n        sprintf(res, \"BG write took: %d ms\\n\", ms_buff);\n        video_draw_string(res, 20, 40 + (i * 20));\n\n        sprintf(res, \"DMA BG draw took: %d ms\\n\", ms_end - ms_before_draw);\n        video_draw_string(res, 20, 60 + (i * 20));\n\n        sprintf(res, \"Video Drawing Done!\");\n        video_draw_string(res, 20, 80 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        ms_end = timer_get_ticks() / 1000;\n\n        sprintf(res, \"FRAME DRAW TIME: %d ms\\n\", ms_end - ms_start);\n        video_draw_string(res, 20, 100 + (i * 20));\n\n        if (use_dma) video_dma();\n\n        timer_sleep(2000);\n    }\n}\n\nvoid video_draw_pixel(u32 x, u32 y, u32 color) {\n\n    u32 pixel_offset = (x * (fb_req.depth.bpp >> 3)) + (y * fb_req.pitch.pitch);\n\n    if (fb_req.depth.bpp == 32) {\n        u32 *buff = (u32 *)DRAWBUFFER;\n        buff[pixel_offset / 4] = color;\n    } else if (fb_req.depth.bpp == 16) {\n        u16 *buff = (u16 *)DRAWBUFFER;\n        buff[pixel_offset / 2] = color & 0xFFFF;\n    } else {\n        DRAWBUFFER[pixel_offset++] = (color & 0xFF);\n    }\n\n}\n\nvoid video_draw_char(char c, u32 pos_x, u32 pos_y) {\n    u32 text_color = TEXT_COLOR;\n    u32 back_color = BACK_COLOR;\n\n    if (fb_req.depth.bpp == 8) {\n        text_color = 2;\n        back_color = 1;\n    }\n\n    for (int y=0; y<font_get_height(); y++) {\n        for (int x=0; x<font_get_width(); x++) {\n            bool yes = font_get_pixel(c, x, y); //gets whether there is a pixel for the font at this pos...\n            video_draw_pixel(pos_x + x, pos_y + y, yes ? text_color : back_color);\n        }\n    }\n}\n\nvoid video_draw_string(char *s, u32 pos_x, u32 pos_y) {\n    for (int i=0; s[i] != 0; pos_x += (font_get_width() + 2), i++) {\n        video_draw_char(s[i], pos_x, pos_y);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/kernel/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part17/src/kernel/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part17/src/kernel/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n#include \"i2c.h\"\n#include \"spi.h\"\n#include \"led_display.h\"\n#include \"mailbox.h\"\n#include \"video.h\"\n#include <io.h>\n#include \"peripherals/emmc.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\n\n#define BOOT_SIGNATURE 0xAA55\n\ntypedef struct PACKED {\n    u8 head;\n    u8 sector : 6;\n    u8 cylinder_hi : 2;\n    u8 cylinder_lo;\n} chs_address ;\n\ntypedef struct PACKED {\n    u8 status;\n    chs_address first_sector;\n    u8 type;\n    chs_address last_sector;\n    u32 first_lba_sector;\n    u32 num_sectors;\n} partition_entry ;\n\ntypedef struct PACKED {\n    u8 bootCode[0x1BE];\n    partition_entry partitions[4];\n    u16 bootSignature;\n} master_boot_record;\n\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, io_device_find(\"muart\"));\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n#if INIT_MMU == 1\n    printf(\"Initialized MMU\\n\");\n#endif\n\n    if (!emmc_init()) {\n        printf(\"FAILED TO INIT EMMC\\n\");\n        return;\n    }\n\n    printf(\"EMMC Disk initialized\\n\");\n\n    master_boot_record mbr;\n\n    io_device *disk = io_device_find(\"disk\");\n    \n    int r = disk->read(disk, &mbr, sizeof(mbr));\n\n    printf(\"Read disk returned: %d\\n\", r);\n\n    if (mbr.bootSignature != BOOT_SIGNATURE) {\n        printf(\"BAD BOOT SIGNATURE: %X\\n\", mbr.bootSignature);\n    }\n\n    for (int i=0; i<4; i++) {\n        if (mbr.partitions[i].type == 0) {\n            break;\n        }\n\n        printf(\"Partition %d:\\n\", i);\n        printf(\"\\t Type: %d\\n\", mbr.partitions[i].type);\n        printf(\"\\t NumSecs: %d\\n\", mbr.partitions[i].num_sectors);\n        printf(\"\\t Status: %d\\n\", mbr.partitions[i].status);\n        printf(\"\\t Start: %X\\n\", mbr.partitions[i].first_lba_sector);\n    }\n\n    timer_sleep(15000);\n\n    void *p1 = get_free_pages(10);\n    void *p2 = get_free_pages(4);\n    void *p3 = allocate_memory(20 * 4096 + 1);\n\n    free_memory(p1);\n    free_memory(p2);\n    free_memory(p3);\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Initializing I2C...\\n\");\n    i2c_init();\n\n    for (u8 i=0x20; i<0x30; i++) {\n        if (i2c_send(i, &i, 1) == I2CS_SUCCESS) {\n            //we know there is an i2c device here now.\n            printf(\"Found device at address 0x%X\\n\", i);\n        }\n    }\n\n    printf(\"Initializing SPI...\\n\");\n    spi_init();\n\n    printf(\"MAILBOX:\\n\");\n\n    printf(\"CORE CLOCK: %d\\n\", mailbox_clock_rate(CT_CORE));\n    printf(\"EMMC CLOCK: %d\\n\", mailbox_clock_rate(CT_EMMC));\n    printf(\"UART CLOCK: %d\\n\", mailbox_clock_rate(CT_UART));\n    printf(\"ARM  CLOCK: %d\\n\", mailbox_clock_rate(CT_ARM));\n\n    printf(\"I2C POWER STATE:\\n\");\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(2000);\n\n    for (int i=0; i<3; i++) {\n        u32 on = 1;\n        mailbox_generic_command(RPI_FIRMWARE_SET_DOMAIN_STATE, i, &on);\n\n        printf(\"SET POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    //timer_sleep(1000);\n\n    for (int i=0; i<3; i++) {\n        bool on = mailbox_power_check(i);\n\n        printf(\"POWER DOMAIN STATUS FOR %d = %d\\n\", i, on);\n    }\n\n    u32 max_temp = 0;\n\n    mailbox_generic_command(RPI_FIRMWARE_GET_MAX_TEMPERATURE, 0, &max_temp);\n\n    //Do video...\n    video_init();\n\n    printf(\"NO DMA...\\n\");\n    video_set_dma(false);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    printf(\"YES DMA...\\n\");\n    video_set_dma(true);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 32);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 32);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 32);\n\n    printf(\"Resolution 1900x1200\\n\");\n    video_set_resolution(1900, 1200, 8);\n\n    printf(\"Resolution 1024x768\\n\");\n    video_set_resolution(1024, 768, 8);\n\n    printf(\"Resolution 800x600\\n\");\n    video_set_resolution(800, 600, 8);\n\n    while(1) {\n        u32 cur_temp = 0;\n\n        mailbox_generic_command(RPI_FIRMWARE_GET_TEMPERATURE, 0, &cur_temp);\n\n        printf(\"Cur temp: %dC MAX: %dC\\n\", cur_temp / 1000, max_temp / 1000);\n\n        timer_sleep(1000);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/kernel/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n    . = ALIGN(0x00001000);\n    id_pgd = .;\n    .data.id_pgd : { . += (6 * (1 << 12)); }\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/mem/mem.c",
    "content": "#include <mem.h>\n#include <peripherals/base.h>\n#include <mm.h>\n#include <mmu.h>\n#include <printf.h>\n\nstatic u16 mem_map [ PAGING_PAGES ] = {0,};\n\nvoid *allocate_memory(int bytes) {\n    int pages = bytes / PAGE_SIZE;\n\n    if (bytes % PAGE_SIZE) {\n        pages++;\n    }\n\n    return get_free_pages(pages);\n}\n\nvoid free_memory(void *base) {\n    u64 page_num = (((u64)base) - LOW_MEMORY) / PAGE_SIZE;\n    int pages = mem_map[page_num];\n\n    printf(\"free_memory at address %X page num: %d pages: %d\\n\", base, page_num, pages);\n\n    for (int i=0; i<pages; i++) {\n        mem_map[page_num + i] = 0;\n    }\n}\n\nvoid *get_free_pages(int num_pages) {\n    int start_index = 0;\n    int count = 0;\n\n    for (int i=0; i<PAGING_PAGES; i++) {\n        if (mem_map[i] == 0) {\n            //not yet allocated...\n            if (!count) {\n                start_index = i;\n            }\n\n            count++;\n\n            if (count == num_pages) {\n                mem_map[start_index] = count; //number of pages allocated\n\n                for (int c=1; c<count; c++) {\n                    mem_map[c + start_index] = 1;\n                }\n\n                void *p = (void *)(LOW_MEMORY + (start_index * PAGE_SIZE));\n\n                printf(\"get_free_pages returning %d pages starting at %d at address %X\\n\", count, start_index, p);\n\n                return p;\n            }\n        } else {\n            count = 0;\n        }\n    }\n}\n\nvoid *memcpy(void *dest, const void *src, u32 n) {\n    //simple implementation...\n    u8 *bdest = (u8 *)dest;\n    u8 *bsrc = (u8 *)src;\n\n    for (int i=0; i<n; i++) {\n        bdest[i] = bsrc[i];\n    }\n\n    return dest;\n}\n\n#define TD_VALID                   (1 << 0)\n#define TD_BLOCK                   (0 << 1)\n#define TD_TABLE                   (1 << 1)\n#define TD_ACCESS                  (1 << 10)\n#define TD_KERNEL_PERMS            (1L << 54)\n#define TD_INNER_SHARABLE          (3 << 8)\n\n#define TD_KERNEL_TABLE_FLAGS      (TD_TABLE | TD_VALID)\n#define TD_KERNEL_BLOCK_FLAGS      (TD_ACCESS | TD_INNER_SHARABLE | TD_KERNEL_PERMS | (MATTR_NORMAL_NC_INDEX << 2) | TD_BLOCK | TD_VALID)\n#define TD_DEVICE_BLOCK_FLAGS      (TD_ACCESS | TD_INNER_SHARABLE | TD_KERNEL_PERMS | (MATTR_DEVICE_nGnRnE_INDEX << 2) | TD_BLOCK | TD_VALID)\n\n#define MATTR_DEVICE_nGnRnE        0x0\n#define MATTR_NORMAL_NC            0x44\n#define MATTR_DEVICE_nGnRnE_INDEX  0\n#define MATTR_NORMAL_NC_INDEX      1\n#define MAIR_EL1_VAL               ((MATTR_NORMAL_NC << (8 * MATTR_NORMAL_NC_INDEX)) | MATTR_DEVICE_nGnRnE << (8 * MATTR_DEVICE_nGnRnE_INDEX))\n\n#define ID_MAP_PAGES           6\n#define ID_MAP_TABLE_SIZE      (ID_MAP_PAGES * PAGE_SIZE)\n#define ENTRIES_PER_TABLE      512\n#define PGD_SHIFT              (PAGE_SHIFT + 3 * TABLE_SHIFT)\n#define PUD_SHIFT              (PAGE_SHIFT + 2 * TABLE_SHIFT)\n#define PMD_SHIFT              (PAGE_SHIFT + TABLE_SHIFT)\n#define PUD_ENTRY_MAP_SIZE     (1 << PUD_SHIFT)\n\n#define BLOCK_SIZE 0x40000000\n\nvoid create_table_entry(u64 tbl, u64 next_tbl, u64 va, u64 shift, u64 flags) {\n    u64 table_index = va >> shift;\n    table_index &= (ENTRIES_PER_TABLE - 1);\n    u64 descriptor = next_tbl | flags;\n    *((u64 *)(tbl + (table_index << 3))) = descriptor;\n}\n\nvoid create_block_map(u64 pmd, u64 vstart, u64 vend, u64 pa) {\n    vstart >>= SECTION_SHIFT;\n    vstart &= (ENTRIES_PER_TABLE -1);\n\n    vend >>= SECTION_SHIFT;\n    vend--;\n    vend &= (ENTRIES_PER_TABLE - 1);\n\n    pa >>= SECTION_SHIFT;\n    pa <<= SECTION_SHIFT;\n\n    do {\n        u64 _pa = pa;\n\n        if (pa >= DEVICE_START) {\n            _pa |= TD_DEVICE_BLOCK_FLAGS;\n        } else {\n            _pa |= TD_KERNEL_BLOCK_FLAGS;\n        }\n\n        *((u64 *)(pmd + (vstart << 3))) = _pa;\n        pa += SECTION_SIZE;\n        vstart++;\n    } while(vstart <= vend);\n}\n\nu64 id_pgd_addr();\n\nvoid init_mmu() {\n    u64 id_pgd = id_pgd_addr();\n\n    memzero(id_pgd, ID_MAP_TABLE_SIZE);\n\n    u64 map_base = 0;\n    u64 tbl = id_pgd;\n    u64 next_tbl = tbl + PAGE_SIZE;\n\n    create_table_entry(tbl, next_tbl, map_base, PGD_SHIFT, TD_KERNEL_TABLE_FLAGS);\n\n    tbl += PAGE_SIZE;\n    next_tbl += PAGE_SIZE;\n\n    u64 block_tbl = tbl;\n\n    for (u64 i=0; i<4; i++) {\n        create_table_entry(tbl, next_tbl, map_base, PUD_SHIFT, TD_KERNEL_TABLE_FLAGS);\n\n        next_tbl += PAGE_SIZE;\n        map_base += PUD_ENTRY_MAP_SIZE;\n\n        block_tbl += PAGE_SIZE;\n\n        u64 offset = BLOCK_SIZE * i;\n        create_block_map(block_tbl, offset, offset + BLOCK_SIZE, offset);\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part17/src/mem/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part17/src/misc/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n#include <io.h>\n\ntypedef void (*putcf) (void*,char);\n\nstatic void* stdout_putp;\n\nio_device *printf_device;\n\nstatic void stdout_putf(void *p, char c) {\n    printf_device->write(printf_device, &c, 1);\n}\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp, io_device *dev) {\n    printf_device = dev;\n    stdout_putp=putp;\n\n    \n}\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part17/src/misc/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part17/src/misc/utils.c",
    "content": "#include \"utils.h\"\n#include \"mem.h\"\n\nbool str_eq(char *a, char *b) {\n    while(*a) {\n        if (*a++ != *b++) {\n            return false;\n        }\n    }\n\n    return *a == *b;\n}\n\nint strcat(char *dst, char *src) {\n    dst += strlen(dst);\n    return strcpy(dst, src);\n}\n\nint strcpy(char *dst, char *src) {\n    int count = 0;\n\n    while(*src) {\n        *dst++ = *src++;\n        count++;\n    }\n\n    *dst = 0;\n\n    return count;\n}\n\nint strlen(char *s) {\n    int count = 0;\n    while(*s++) {\n        count++;\n    }\n\n    return count;\n}\n"
  },
  {
    "path": "rpi_bm/part6-7/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part6-7/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part6-7/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part6-7/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part6-7/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part6-7/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part6-7/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part6-7/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part6-7/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part6-7/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part6-7/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part6-7/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part6-7/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part6-7/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part6-7/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part6-7/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    while(1) {\n        uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part6-7/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part6-7/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part6-7/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part6-7/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part6-7/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part8/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part8/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part8/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part8/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part8/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part8/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part8/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part8/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part8/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part8/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part8/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part8/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part8/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\nenum vc_irqs {\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part8/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part8/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part8/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part8/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part8/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part8/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part8/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part8/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part8/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    while(1) {\n        //uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part8/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part8/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 2;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part8/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part8/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part8/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part9/Makefile",
    "content": "RPI_VERSION ?= 4\n\nBOOTMNT ?= /media/parallels/boot\n\nARMGNU ?= aarch64-linux-gnu\n\nCOPS = -DRPI_VERSION=$(RPI_VERSION) -Wall -nostdlib -nostartfiles -ffreestanding \\\n\t   -Iinclude -mgeneral-regs-only\n\nASMOPS = -Iinclude\n\nBUILD_DIR = build\nSRC_DIR = src\n\nall : kernel8.img\n\nclean :\n\trm -rf $(BUILD_DIR) *.img \n\n$(BUILD_DIR)/%_c.o: $(SRC_DIR)/%.c\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\n$(BUILD_DIR)/%_s.o: $(SRC_DIR)/%.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\nC_FILES = $(wildcard $(SRC_DIR)/*.c)\nASM_FILES = $(wildcard $(SRC_DIR)/*.S)\nOBJ_FILES = $(C_FILES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%_c.o)\nOBJ_FILES += $(ASM_FILES:$(SRC_DIR)/%.S=$(BUILD_DIR)/%_s.o)\n\nDEP_FILES = $(OBJ_FILES:%.o=%.d)\n-include $(DEP_FILES)\n\nkernel8.img: $(SRC_DIR)/linker.ld $(OBJ_FILES)\n\t@echo \"Building for RPI $(value RPI_VERSION)\"\n\t@echo \"Deploy to $(value BOOTMNT)\"\n\t@echo \"\"\n\t$(ARMGNU)-ld -T $(SRC_DIR)/linker.ld -o $(BUILD_DIR)/kernel8.elf $(OBJ_FILES)\n\t$(ARMGNU)-objcopy $(BUILD_DIR)/kernel8.elf -O binary kernel8.img\nifeq ($(RPI_VERSION), 4)\n\tcp kernel8.img $(BOOTMNT)/kernel8-rpi4.img\nelse\n\tcp kernel8.img $(BOOTMNT)/\nendif\n\tcp config.txt $(BOOTMNT)/\n\tsync\n\narmstub/build/armstub_s.o: armstub/src/armstub.S\n\tmkdir -p $(@D)\n\t$(ARMGNU)-gcc $(COPS) -MMD -c $< -o $@\n\narmstub: armstub/build/armstub_s.o\n\t$(ARMGNU)-ld --section-start=.text=0 -o armstub/build/armstub.elf armstub/build/armstub_s.o\n\t$(ARMGNU)-objcopy armstub/build/armstub.elf -O binary armstub-new.bin\n\tcp armstub-new.bin $(BOOTMNT)/\n\tsync\n"
  },
  {
    "path": "rpi_bm/part9/armstub/src/armstub.S",
    "content": ".globl _start\n_start:\n    ldr w0, kernel_entry32\n    br x0\n\n.ltorg\n\n.org 0xf0\n.globl stub_magic\nstub_magic:\n    .word 0x5afe570b\n\n.org 0xf4\n.globl stub_version\nstub_version:\n    .word 0\n\n.org 0xfc\n.globl kernel_entry32\nkernel_entry32:\n    .word 0x0\n"
  },
  {
    "path": "rpi_bm/part9/config.txt",
    "content": "arm_64bit=1\nuart_2ndstage=1\ndtoverlay=miniuart-bt\n\narmstub=armstub-new.bin\n\n[pi4]\nkernel=kernel8-rpi4.img\n"
  },
  {
    "path": "rpi_bm/part9/include/common.h",
    "content": "#pragma once\n\n#include <stdint.h>\n\ntypedef uint8_t u8;\ntypedef uint16_t u16;\ntypedef uint32_t u32;\ntypedef uint64_t u64;\n\ntypedef volatile u32 reg32;\n"
  },
  {
    "path": "rpi_bm/part9/include/entry.h",
    "content": "#pragma once\n\n//D1.10.2\n#define SYNC_INVALID_EL1t\t\t0 \n#define IRQ_INVALID_EL1t\t\t1 \n#define FIQ_INVALID_EL1t\t\t2 \n#define ERROR_INVALID_EL1t\t\t3 \n\n#define SYNC_INVALID_EL1h\t\t4 \n#define IRQ_INVALID_EL1h\t\t5 \n#define FIQ_INVALID_EL1h\t\t6 \n#define ERROR_INVALID_EL1h\t\t7 \n\n#define SYNC_INVALID_EL0_64\t    8 \n#define IRQ_INVALID_EL0_64\t    9 \n#define FIQ_INVALID_EL0_64\t\t10 \n#define ERROR_INVALID_EL0_64\t11 \n\n#define SYNC_INVALID_EL0_32\t\t12 \n#define IRQ_INVALID_EL0_32\t\t13 \n#define FIQ_INVALID_EL0_32\t\t14 \n#define ERROR_INVALID_EL0_32\t15 \n\n//stack frame size\n#define S_FRAME_SIZE\t\t\t256\n"
  },
  {
    "path": "rpi_bm/part9/include/gpio.h",
    "content": "#pragma once\n\n#include \"peripherals/gpio.h\"\n\ntypedef enum _GpioFunc {\n    GFInput = 0,\n    GFOutput = 1,\n    GFAlt0 = 4,\n    GFAlt1 = 5,\n    GFAlt2 = 6,\n    GFAlt3 = 7,\n    GFAlt4 = 3,\n    GFAlt5 = 2\n} GpioFunc;\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func);\n\nvoid gpio_pin_enable(u8 pinNumber);\n"
  },
  {
    "path": "rpi_bm/part9/include/irq.h",
    "content": "#pragma once\n\nvoid irq_init_vectors();\nvoid irq_enable();\nvoid irq_disable();\n\nvoid enable_interrupt_controller();\n"
  },
  {
    "path": "rpi_bm/part9/include/mini_uart.h",
    "content": "#pragma once\n\nvoid uart_init();\nchar uart_recv();\nvoid uart_send(char c);\nvoid uart_send_string(char *str);\n"
  },
  {
    "path": "rpi_bm/part9/include/mm.h",
    "content": "#pragma once\n\n#define PAGE_SHIFT 12\n#define TABLE_SHIFT 9\n#define SECTION_SHIFT (PAGE_SHIFT + TABLE_SHIFT)\n#define PAGE_SIZE (1 << PAGE_SHIFT)\n#define SECTION_SIZE (1 << SECTION_SHIFT)\n\n#define LOW_MEMORY (2 * SECTION_SIZE)\n\n#ifndef __ASSEMBLER__\n\nvoid memzero(unsigned long src, unsigned int n);\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part9/include/peripherals/aux.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct AuxRegs {\n    reg32 irq_status;\n    reg32 enables;\n    reg32 reserved[14];\n    reg32 mu_io;\n    reg32 mu_ier;\n    reg32 mu_iir;\n    reg32 mu_lcr;\n    reg32 mu_mcr;\n    reg32 mu_lsr;\n    reg32 mu_msr;\n    reg32 mu_scratch;\n    reg32 mu_control;\n    reg32 mu_status;\n    reg32 mu_baud_rate;\n};\n\n#define REGS_AUX ((struct AuxRegs *)(PBASE + 0x00215000))\n"
  },
  {
    "path": "rpi_bm/part9/include/peripherals/base.h",
    "content": "#pragma once\n\n#if RPI_VERSION == 3\n#define PBASE 0x3F000000\n\n#elif RPI_VERSION == 4\n#define PBASE 0xFE000000\n\n#else\n#define PBASE 0\n#error RPI_VERSION NOT DEFINED\n\n#endif\n"
  },
  {
    "path": "rpi_bm/part9/include/peripherals/gpio.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\n#include \"peripherals/base.h\"\n\nstruct GpioPinData {\n    reg32 reserved;\n    reg32 data[2];\n};\n\nstruct GpioRegs {\n    reg32 func_select[6];\n    struct GpioPinData output_set;\n    struct GpioPinData output_clear;\n    struct GpioPinData level;\n    struct GpioPinData ev_detect_status;\n    struct GpioPinData re_detect_enable;\n    struct GpioPinData fe_detect_enable;\n    struct GpioPinData hi_detect_enable;\n    struct GpioPinData lo_detect_enable;\n    struct GpioPinData async_re_detect;\n    struct GpioPinData async_fe_detect;\n    reg32 reserved;\n    reg32 pupd_enable;\n    reg32 pupd_enable_clocks[2];\n};\n\n#define REGS_GPIO ((struct GpioRegs *)(PBASE + 0x00200000))\n"
  },
  {
    "path": "rpi_bm/part9/include/peripherals/irq.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n//6.2.4\nenum vc_irqs {\n    SYS_TIMER_IRQ_0 = 1,\n    SYS_TIMER_IRQ_1 = 2,\n    SYS_TIMER_IRQ_2 = 4,\n    SYS_TIMER_IRQ_3 = 8,\n    AUX_IRQ = (1 << 29)\n};\n\nstruct arm_irq_regs_2711 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 res0;\n    reg32 irq0_enable_0;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 res1;\n    reg32 irq0_disable_0;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n};\n\nstruct arm_irq_regs_2837 {\n    reg32 irq0_pending_0;\n    reg32 irq0_pending_1;\n    reg32 irq0_pending_2;\n    reg32 fiq_control;\n    reg32 irq0_enable_1;\n    reg32 irq0_enable_2;\n    reg32 irq0_enable_0;\n    reg32 res;\n    reg32 irq0_disable_1;\n    reg32 irq0_disable_2;\n    reg32 irq0_disable_0;\n};\n\n#if RPI_VERSION == 3\n    typedef struct arm_irq_regs_2837 arm_irq_regs;\n#endif\n\n#if RPI_VERSION == 4\n    typedef struct arm_irq_regs_2711 arm_irq_regs;\n#endif\n\n#define REGS_IRQ ((arm_irq_regs *)(PBASE + 0x0000B200))\n"
  },
  {
    "path": "rpi_bm/part9/include/peripherals/timer.h",
    "content": "#pragma once\n\n#include \"peripherals/base.h\"\n#include \"common.h\"\n\n#define CLOCKHZ 1000000\n\n//10.2\nstruct timer_regs {\n    reg32 control_status;\n    reg32 counter_lo;\n    reg32 counter_hi;\n    reg32 compare[4];\n};\n\n#define REGS_TIMER ((struct timer_regs *)(PBASE + 0x00003000))\n"
  },
  {
    "path": "rpi_bm/part9/include/printf.h",
    "content": "/*\nFile: printf.h\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\nSee the GNU Lesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\nThis library is really just two files: 'printf.h' and 'printf.c'.\nThey provide a simple and small (+200 loc) printf functionality to\nbe used in embedded systems.\nI've found them so usefull in debugging that I do not bother with a\ndebugger at all.\nThey are distributed in source form, so to use them, just compile them\ninto your project.\nTwo printf variants are provided: printf and sprintf.\nThe formats supported by this implementation are: 'd' 'u' 'c' 's' 'x' 'X'.\nZero padding and field width are also supported.\nIf the library is compiled with 'PRINTF_SUPPORT_LONG' defined then the\nlong specifier is also\nsupported. Note that this will pull in some long math routines (pun intended!)\nand thus make your executable noticably longer.\nThe memory foot print of course depends on the target cpu, compiler and\ncompiler options, but a rough guestimate (based on a H8S target) is about\n1.4 kB for code and some twenty 'int's and 'char's, say 60 bytes of stack space.\nNot too bad. Your milage may vary. By hacking the source code you can\nget rid of some hunred bytes, I'm sure, but personally I feel the balance of\nfunctionality and flexibility versus  code size is close to optimal for\nmany embedded systems.\nTo use the printf you need to supply your own character output function,\nsomething like :\n\tvoid putc ( void* p, char c)\n\t\t{\n\t\twhile (!SERIAL_PORT_EMPTY) ;\n\t\tSERIAL_PORT_TX_REGISTER = c;\n\t\t}\nBefore you can call printf you need to initialize it to use your\ncharacter output function with something like:\n\tinit_printf(NULL,putc);\nNotice the 'NULL' in 'init_printf' and the parameter 'void* p' in 'putc',\nthe NULL (or any pointer) you pass into the 'init_printf' will eventually be\npassed to your 'putc' routine. This allows you to pass some storage space (or\nanything really) to the character output function, if necessary.\nThis is not often needed but it was implemented like that because it made\nimplementing the sprintf function so neat (look at the source code).\nThe code is re-entrant, except for the 'init_printf' function, so it\nis safe to call it from interupts too, although this may result in mixed output.\nIf you rely on re-entrancy, take care that your 'putc' function is re-entrant!\nThe printf and sprintf functions are actually macros that translate to\n'tfp_printf' and 'tfp_sprintf'. This makes it possible\nto use them along with 'stdio.h' printf's in a single source file.\nYou just need to undef the names before you include the 'stdio.h'.\nNote that these are not function like macros, so if you have variables\nor struct members with these names, things will explode in your face.\nWithout variadic macros this is the best we can do to wrap these\nfucnction. If it is a problem just give up the macros and use the\nfunctions directly or rename them.\nFor further details see source code.\nregs Kusti, 23.10.2004\n*/\n\n\n#ifndef __TFP_PRINTF__\n#define __TFP_PRINTF__\n\n#include <stdarg.h>\n\nvoid init_printf(void* putp,void (*putf) (void*,char));\n\nvoid tfp_printf(char *fmt, ...);\nvoid tfp_sprintf(char* s,char *fmt, ...);\n\nvoid tfp_format(void* putp,void (*putf) (void*,char),char *fmt, va_list va);\n\n#define printf tfp_printf\n#define sprintf tfp_sprintf\n\n#endif"
  },
  {
    "path": "rpi_bm/part9/include/sysregs.h",
    "content": "#pragma once\n\n//D13.2.113\n\n#define SCTLR_RESERVED                  (3 << 28) | (3 << 22) | (1 << 20) | (1 << 11)\n#define SCTLR_EE_LITTLE_ENDIAN          (0 << 25)\n#define SCTLR_EOE_LITTLE_ENDIAN         (0 << 24)\n#define SCTLR_I_CACHE_DISABLED          (0 << 12)\n#define SCTLR_D_CACHE_DISABLED          (0 << 2)\n#define SCTLR_MMU_DISABLED              (0 << 0)\n#define SCTLR_MMU_ENABLED               (1 << 0)\n\n#define SCTLR_VALUE_MMU_DISABLED (SCTLR_RESERVED | SCTLR_EE_LITTLE_ENDIAN | SCTLR_I_CACHE_DISABLED | SCTLR_D_CACHE_DISABLED | SCTLR_MMU_DISABLED)\n\n//D13.2.47\n\n#define HCR_RW                          (1 << 31)\n#define HCR_VALUE                       HCR_RW\n\n//D13.2.112\n\n#define SCR_RESERVED                    (3 << 4)\n#define SCR_RW                          (1 << 10)\n#define SCR_NS                          (1 << 0)\n#define SCR_VALUE                       (SCR_RESERVED | SCR_RW | SCR_NS)\n\n//C5.2.19\n\n#define SPSR_MASK_ALL                   (7 << 6)\n#define SPSR_EL1h                       (5 << 0)\n#define SPSR_EL2h                       (9 << 0)\n#define SPSR_VALUE                      (SPSR_MASK_ALL | SPSR_EL1h)\n\n"
  },
  {
    "path": "rpi_bm/part9/include/timer.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid timer_init();\nvoid handle_timer_1();\nvoid handle_timer_3();\nvoid timer_sleep(u32 ms);\nu64 timer_get_ticks();\n"
  },
  {
    "path": "rpi_bm/part9/include/utils.h",
    "content": "#pragma once\n\n#include \"common.h\"\n\nvoid delay(u64 ticks);\nvoid put32(u64 address, u32 value);\nu32 get32(u64 address);\n"
  },
  {
    "path": "rpi_bm/part9/src/boot.S",
    "content": "#include \"mm.h\"\n#include \"sysregs.h\"\n\n.section \".text.boot\"\n\n.globl _start\n_start:\n    mrs x0, mpidr_el1\n    and x0, x0, #0xFF\n    cbz x0, master\n    b proc_hang\n\nmaster:\n    ldr x0, =SCTLR_VALUE_MMU_DISABLED\n    msr sctlr_el1, x0\n\n    ldr x0, =HCR_VALUE\n    msr hcr_el2, x0\n\n    ldr x0, =SCR_VALUE\n    msr scr_el3, x0\n\n    ldr x0, =SPSR_VALUE\n    msr spsr_el3, x0\n\n    adr x0, el1_entry\n    msr elr_el3, x0\n\n    eret\n\nel1_entry:\n    adr x0, bss_begin\n    adr x1, bss_end\n    sub x1, x1, x0\n    bl memzero\n\n    mov sp, #LOW_MEMORY\n    bl kernel_main\n    b  proc_hang\n\nproc_hang:\n    wfe\n    b proc_hang\n"
  },
  {
    "path": "rpi_bm/part9/src/entry.S",
    "content": "#include \"entry.h\"\n\n.macro kernel_entry\n    sub sp, sp, #S_FRAME_SIZE\n    stp x0, x1, [sp, #16 * 0]\n    stp x2, x3, [sp, #16 * 1]\n    stp\tx4, x5, [sp, #16 * 2]\n\tstp\tx6, x7, [sp, #16 * 3]\n\tstp\tx8, x9, [sp, #16 * 4]\n\tstp\tx10, x11, [sp, #16 * 5]\n\tstp\tx12, x13, [sp, #16 * 6]\n\tstp\tx14, x15, [sp, #16 * 7]\n\tstp\tx16, x17, [sp, #16 * 8]\n\tstp\tx18, x19, [sp, #16 * 9]\n\tstp\tx20, x21, [sp, #16 * 10]\n\tstp\tx22, x23, [sp, #16 * 11]\n\tstp\tx24, x25, [sp, #16 * 12]\n\tstp\tx26, x27, [sp, #16 * 13]\n\tstp\tx28, x29, [sp, #16 * 14]\n\tstr\tx30, [sp, #16 * 15] \n.endm\n\n.macro kernel_exit\n    ldp x0, x1, [sp, #16 * 0]\n    ldp x2, x3, [sp, #16 * 1]\n    ldp\tx4, x5, [sp, #16 * 2]\n\tldp\tx6, x7, [sp, #16 * 3]\n\tldp\tx8, x9, [sp, #16 * 4]\n\tldp\tx10, x11, [sp, #16 * 5]\n\tldp\tx12, x13, [sp, #16 * 6]\n\tldp\tx14, x15, [sp, #16 * 7]\n\tldp\tx16, x17, [sp, #16 * 8]\n\tldp\tx18, x19, [sp, #16 * 9]\n\tldp\tx20, x21, [sp, #16 * 10]\n\tldp\tx22, x23, [sp, #16 * 11]\n\tldp\tx24, x25, [sp, #16 * 12]\n\tldp\tx26, x27, [sp, #16 * 13]\n\tldp\tx28, x29, [sp, #16 * 14]\n\tldr\tx30, [sp, #16 * 15] \n\tadd\tsp, sp, #S_FRAME_SIZE\n    eret\n.endm\n\n.macro handle_invalid_entry type\n\tkernel_entry\n\tmov\tx0, #\\type\n\tmrs\tx1, esr_el1\n\tmrs\tx2, elr_el1\n\tbl\tshow_invalid_entry_message\n\tb\terr_hang\n.endm\n\n.macro\tventry\tlabel\n.align\t7\n    b\t\\label\n.endm\n\n//Exception vectors table\n.align\t11\n.globl vectors \nvectors:\n\tventry\tsync_invalid_el1t\t\t\t// Synchronous EL1t\n\tventry\tirq_invalid_el1t\t\t\t// IRQ EL1t\n\tventry\tfiq_invalid_el1t\t\t\t// FIQ EL1t\n\tventry\terror_invalid_el1t\t\t\t// Error EL1t\n\n\tventry\tsync_invalid_el1h\t\t\t// Synchronous EL1h\n\tventry\thandle_el1_irq\t\t\t\t// IRQ EL1h\n\tventry\tfiq_invalid_el1h\t\t\t// FIQ EL1h\n\tventry\terror_invalid_el1h\t\t\t// Error EL1h\n\n\tventry\tsync_invalid_el0_64\t\t\t// Synchronous 64-bit EL0\n\tventry\tirq_invalid_el0_64\t\t\t// IRQ 64-bit EL0\n\tventry\tfiq_invalid_el0_64\t\t\t// FIQ 64-bit EL0\n\tventry\terror_invalid_el0_64\t\t// Error 64-bit EL0\n\n\tventry\tsync_invalid_el0_32\t\t\t// Synchronous 32-bit EL0\n\tventry\tirq_invalid_el0_32\t\t\t// IRQ 32-bit EL0\n\tventry\tfiq_invalid_el0_32\t\t\t// FIQ 32-bit EL0\n\tventry\terror_invalid_el0_32\t\t// Error 32-bit EL0\n\n\nsync_invalid_el1t:\n\thandle_invalid_entry  SYNC_INVALID_EL1t\n\nirq_invalid_el1t:\n\thandle_invalid_entry  IRQ_INVALID_EL1t\n\nfiq_invalid_el1t:\n\thandle_invalid_entry  FIQ_INVALID_EL1t\n\nerror_invalid_el1t:\n\thandle_invalid_entry  ERROR_INVALID_EL1t\n\nsync_invalid_el1h:\n\thandle_invalid_entry  SYNC_INVALID_EL1h\n\nfiq_invalid_el1h:\n\thandle_invalid_entry  FIQ_INVALID_EL1h\n\nerror_invalid_el1h:\n\thandle_invalid_entry  ERROR_INVALID_EL1h\n\nsync_invalid_el0_64:\n\thandle_invalid_entry  SYNC_INVALID_EL0_64\n\nirq_invalid_el0_64:\n\thandle_invalid_entry  IRQ_INVALID_EL0_64\n\nfiq_invalid_el0_64:\n\thandle_invalid_entry  FIQ_INVALID_EL0_64\n\nerror_invalid_el0_64:\n\thandle_invalid_entry  ERROR_INVALID_EL0_64\n\nsync_invalid_el0_32:\n\thandle_invalid_entry  SYNC_INVALID_EL0_32\n\nirq_invalid_el0_32:\n\thandle_invalid_entry  IRQ_INVALID_EL0_32\n\nfiq_invalid_el0_32:\n\thandle_invalid_entry  FIQ_INVALID_EL0_32\n\nerror_invalid_el0_32:\n\thandle_invalid_entry  ERROR_INVALID_EL0_32\n\nhandle_el1_irq:\n\tkernel_entry \n\tbl\thandle_irq\n\tkernel_exit \n\n.globl err_hang\nerr_hang: b err_hang\n\n"
  },
  {
    "path": "rpi_bm/part9/src/gpio.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n\nvoid gpio_pin_set_func(u8 pinNumber, GpioFunc func) {\n    u8 bitStart = (pinNumber * 3) % 30;\n    u8 reg = pinNumber / 10;\n\n    u32 selector = REGS_GPIO->func_select[reg];\n    selector &= ~(7 << bitStart);\n    selector |= (func << bitStart);\n\n    REGS_GPIO->func_select[reg] = selector;\n}\n\nvoid gpio_pin_enable(u8 pinNumber) {\n    REGS_GPIO->pupd_enable = 0;\n    delay(150);\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 1 << (pinNumber % 32);\n    delay(150);\n    REGS_GPIO->pupd_enable = 0;\n    REGS_GPIO->pupd_enable_clocks[pinNumber / 32] = 0;\n}\n"
  },
  {
    "path": "rpi_bm/part9/src/irq.S",
    "content": "//D13.2.137\n.globl irq_init_vectors\nirq_init_vectors:\n    adr x0, vectors\n    msr vbar_el1, x0\n    ret\n\n//C5.2.2\n.globl irq_enable\nirq_enable:\n    msr daifclr, #2\n    ret\n\n.globl irq_disable\nirq_disable:\n    msr daifset, #2\n    ret\n"
  },
  {
    "path": "rpi_bm/part9/src/irq.c",
    "content": "#include \"utils.h\"\n#include \"printf.h\"\n#include \"entry.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n#include \"timer.h\"\n\nconst char entry_error_messages[16][32] = {\n\t\"SYNC_INVALID_EL1t\",\n\t\"IRQ_INVALID_EL1t\",\t\t\n\t\"FIQ_INVALID_EL1t\",\t\t\n\t\"ERROR_INVALID_EL1T\",\t\t\n\n\t\"SYNC_INVALID_EL1h\",\n\t\"IRQ_INVALID_EL1h\",\t\t\n\t\"FIQ_INVALID_EL1h\",\t\t\n\t\"ERROR_INVALID_EL1h\",\t\t\n\n\t\"SYNC_INVALID_EL0_64\",\t\t\n\t\"IRQ_INVALID_EL0_64\",\t\t\n\t\"FIQ_INVALID_EL0_64\",\t\t\n\t\"ERROR_INVALID_EL0_64\",\t\n\n\t\"SYNC_INVALID_EL0_32\",\t\t\n\t\"IRQ_INVALID_EL0_32\",\t\t\n\t\"FIQ_INVALID_EL0_32\",\t\t\n\t\"ERROR_INVALID_EL0_32\"\t\n};\n\nvoid show_invalid_entry_message(u32 type, u64 esr, u64 address) {\n    printf(\"ERROR CAUGHT: %s - %d, ESR: %X, Address: %X\\n\", \n        entry_error_messages[type], type, esr, address);\n}\n\nvoid enable_interrupt_controller() {\n    #if RPI_VERSION == 4\n        REGS_IRQ->irq0_enable_0 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n\n    #if RPI_VERSION == 3\n        REGS_IRQ->irq0_enable_1 = AUX_IRQ | SYS_TIMER_IRQ_1 | SYS_TIMER_IRQ_3;\n    #endif\n}\n\nvoid handle_irq() {\n    u32 irq;\n\n#if RPI_VERSION == 4\n    irq = REGS_IRQ->irq0_pending_0;\n#endif\n\n#if RPI_VERSION == 3\n    irq = REGS_IRQ->irq0_pending_1;\n#endif\n\n    while(irq) {\n        if (irq & AUX_IRQ) {\n            irq &= ~AUX_IRQ;\n\n            while((REGS_AUX->mu_iir & 4) == 4) {\n                printf(\"UART Recv: \");\n                uart_send(uart_recv());\n                printf(\"\\n\");\n            }\n        }\n\n        if (irq & SYS_TIMER_IRQ_1) {\n            irq &= ~SYS_TIMER_IRQ_1;\n\n            handle_timer_1();\n        }\n\n        if (irq & SYS_TIMER_IRQ_3) {\n            irq &= ~SYS_TIMER_IRQ_3;\n\n            handle_timer_3();\n        }\n    }\n\n}"
  },
  {
    "path": "rpi_bm/part9/src/kernel.c",
    "content": "#include \"common.h\"\n#include \"mini_uart.h\"\n#include \"printf.h\"\n#include \"irq.h\"\n#include \"timer.h\"\n\nvoid putc(void *p, char c) {\n    if (c == '\\n') {\n        uart_send('\\r');\n    }\n\n    uart_send(c);\n}\n\nu32 get_el();\n\nvoid kernel_main() {\n    uart_init();\n    init_printf(0, putc);\n    printf(\"\\nRasperry PI Bare Metal OS Initializing...\\n\");\n\n    irq_init_vectors();\n    enable_interrupt_controller();\n    irq_enable();\n    timer_init();\n\n#if RPI_VERSION == 3\n    printf(\"\\tBoard: Raspberry PI 3\\n\");\n#endif\n\n#if RPI_VERSION == 4\n    printf(\"\\tBoard: Raspberry PI 4\\n\");\n#endif\n\n    printf(\"\\nException Level: %d\\n\", get_el());\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Sleeping 200 ms...\\n\");\n    timer_sleep(200);\n\n    printf(\"Sleeping 2 seconds...\\n\");\n    timer_sleep(2000);\n\n    printf(\"Sleeping 2 seconds...\\n\");\n    timer_sleep(2000);\n\n    printf(\"Sleeping 5 seconds...\\n\");\n    timer_sleep(5000);\n\n    printf(\"DONE!\\n\");\n\n    while(1) {\n        //uart_send(uart_recv());\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part9/src/linker.ld",
    "content": "SECTIONS\n{\n    .text.boot : { *(.text.boot) }\n    .text : { *(.text) }\n    .rodata : { *(.rodata) }\n    .data : { *(.data) }\n    . = ALIGN(0x8);\n    bss_begin = .;\n    .bss : { *(.bss*) }\n    bss_end = .;\n}"
  },
  {
    "path": "rpi_bm/part9/src/mini_uart.c",
    "content": "#include \"gpio.h\"\n#include \"utils.h\"\n#include \"peripherals/aux.h\"\n#include \"mini_uart.h\"\n\n#define TXD 14\n#define RXD 15\n\nvoid uart_init() {\n    gpio_pin_set_func(TXD, GFAlt5);\n    gpio_pin_set_func(RXD, GFAlt5);\n\n    gpio_pin_enable(TXD);\n    gpio_pin_enable(RXD);\n\n    REGS_AUX->enables = 1;\n    REGS_AUX->mu_control = 0;\n    REGS_AUX->mu_ier = 0xD;\n    REGS_AUX->mu_lcr = 3;\n    REGS_AUX->mu_mcr = 0;\n\n#if RPI_VERSION == 3\n    REGS_AUX->mu_baud_rate = 270; // = 115200 @ 250 Mhz\n#endif\n\n#if RPI_VERSION == 4\n    REGS_AUX->mu_baud_rate = 541; // = 115200 @ 500 Mhz\n#endif\n\n    REGS_AUX->mu_control = 3;\n\n    uart_send('\\r');\n    uart_send('\\n');\n    uart_send('\\n');\n}\n\nvoid uart_send(char c) {\n    while(!(REGS_AUX->mu_lsr & 0x20));\n\n    REGS_AUX->mu_io = c;\n}\n\nchar uart_recv() {\n    while(!(REGS_AUX->mu_lsr & 1));\n\n    return REGS_AUX->mu_io & 0xFF;\n}\n\nvoid uart_send_string(char *str) {\n    while(*str) {\n        if (*str == '\\n') {\n            uart_send('\\r');\n        }\n\n        uart_send(*str);\n        str++;\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part9/src/mm.S",
    "content": ".globl memzero\nmemzero:\n    str xzr, [x0], #8\n    subs x1, x1, #8\n    b.gt memzero\n    ret\n"
  },
  {
    "path": "rpi_bm/part9/src/printf.c",
    "content": "/*\nFile: printf.c\nCopyright (C) 2004  Kustaa Nyholm\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n*/\n\n#include \"printf.h\"\n\ntypedef void (*putcf) (void*,char);\nstatic putcf stdout_putf;\nstatic void* stdout_putp;\n\n\n#ifdef PRINTF_LONG_SUPPORT\n\nstatic void uli2a(unsigned long int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%=d;\n        d/=base;\n        if (n || dgt>0|| d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void li2a (long num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    uli2a(num,10,0,bf);\n    }\n\n#endif\n\nstatic void ui2a(unsigned int num, unsigned int base, int uc,char * bf)\n    {\n    int n=0;\n    unsigned int d=1;\n    while (num/d >= base)\n        d*=base;\n    while (d!=0) {\n        int dgt = num / d;\n        num%= d;\n        d/=base;\n        if (n || dgt>0 || d==0) {\n            *bf++ = dgt+(dgt<10 ? '0' : (uc ? 'A' : 'a')-10);\n            ++n;\n            }\n        }\n    *bf=0;\n    }\n\nstatic void i2a (int num, char * bf)\n    {\n    if (num<0) {\n        num=-num;\n        *bf++ = '-';\n        }\n    ui2a(num,10,0,bf);\n    }\n\nstatic int a2d(char ch)\n    {\n    if (ch>='0' && ch<='9')\n        return ch-'0';\n    else if (ch>='a' && ch<='f')\n        return ch-'a'+10;\n    else if (ch>='A' && ch<='F')\n        return ch-'A'+10;\n    else return -1;\n    }\n\nstatic char a2i(char ch, char** src,int base,int* nump)\n    {\n    char* p= *src;\n    int num=0;\n    int digit;\n    while ((digit=a2d(ch))>=0) {\n        if (digit>base) break;\n        num=num*base+digit;\n        ch=*p++;\n        }\n    *src=p;\n    *nump=num;\n    return ch;\n    }\n\nstatic void putchw(void* putp,putcf putf,int n, char z, char* bf)\n    {\n    char fc=z? '0' : ' ';\n    char ch;\n    char* p=bf;\n    while (*p++ && n > 0)\n        n--;\n    while (n-- > 0)\n        putf(putp,fc);\n    while ((ch= *bf++))\n        putf(putp,ch);\n    }\n\nvoid tfp_format(void* putp,putcf putf,char *fmt, va_list va)\n    {\n    char bf[12];\n\n    char ch;\n\n\n    while ((ch=*(fmt++))) {\n        if (ch!='%')\n            putf(putp,ch);\n        else {\n            char lz=0;\n#ifdef  PRINTF_LONG_SUPPORT\n            char lng=0;\n#endif\n            int w=0;\n            ch=*(fmt++);\n            if (ch=='0') {\n                ch=*(fmt++);\n                lz=1;\n                }\n            if (ch>='0' && ch<='9') {\n                ch=a2i(ch,&fmt,10,&w);\n                }\n#ifdef  PRINTF_LONG_SUPPORT\n            if (ch=='l') {\n                ch=*(fmt++);\n                lng=1;\n            }\n#endif\n            switch (ch) {\n                case 0:\n                    goto abort;\n                case 'u' : {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),10,0,bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),10,0,bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'd' :  {\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        li2a(va_arg(va, unsigned long int),bf);\n                    else\n#endif\n                    i2a(va_arg(va, int),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                    }\n                case 'x': case 'X' :\n#ifdef  PRINTF_LONG_SUPPORT\n                    if (lng)\n                        uli2a(va_arg(va, unsigned long int),16,(ch=='X'),bf);\n                    else\n#endif\n                    ui2a(va_arg(va, unsigned int),16,(ch=='X'),bf);\n                    putchw(putp,putf,w,lz,bf);\n                    break;\n                case 'c' :\n                    putf(putp,(char)(va_arg(va, int)));\n                    break;\n                case 's' :\n                    putchw(putp,putf,w,0,va_arg(va, char*));\n                    break;\n                case '%' :\n                    putf(putp,ch);\n                default:\n                    break;\n                }\n            }\n        }\n    abort:;\n    }\n\n\nvoid init_printf(void* putp,void (*putf) (void*,char))\n    {\n    stdout_putf=putf;\n    stdout_putp=putp;\n    }\n\nvoid tfp_printf(char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(stdout_putp,stdout_putf,fmt,va);\n    va_end(va);\n    }\n\nstatic void putcp(void* p,char c)\n    {\n    *(*((char**)p))++ = c;\n    }\n\n\n\nvoid tfp_sprintf(char* s,char *fmt, ...)\n    {\n    va_list va;\n    va_start(va,fmt);\n    tfp_format(&s,putcp,fmt,va);\n    putcp(&s,0);\n    va_end(va);\n    }"
  },
  {
    "path": "rpi_bm/part9/src/timer.c",
    "content": "#include \"printf.h\"\n#include \"peripherals/timer.h\"\n#include \"peripherals/irq.h\"\n#include \"peripherals/aux.h\"\n\nconst u32 interval_1 = CLOCKHZ;\nu32 cur_val_1 = 0;\n\nconst u32 interval_3 = CLOCKHZ / 4;\nu32 cur_val_3 = 0;\n\nvoid timer_init() {\n    cur_val_1 = REGS_TIMER->counter_lo;\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n\n    cur_val_3 = REGS_TIMER->counter_lo;\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n}\n\nvoid handle_timer_1() {\n    cur_val_1 += interval_1;\n    REGS_TIMER->compare[1] = cur_val_1;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_1;\n\n    //printf(\"Timer 1 received.\\n\");\n}\n\nvoid handle_timer_3() {\n    cur_val_3 += interval_3;\n    REGS_TIMER->compare[3] = cur_val_3;\n    REGS_TIMER->control_status |= SYS_TIMER_IRQ_3;\n\n    //printf(\"Timer 3 received.\\n\");\n}\n\nu64 timer_get_ticks() {\n    u32 hi = REGS_TIMER->counter_hi;\n    u32 lo = REGS_TIMER->counter_lo;\n\n    //double check hi value didn't change after setting it...\n    if (hi != REGS_TIMER->counter_hi) {\n        hi = REGS_TIMER->counter_hi;\n        lo = REGS_TIMER->counter_lo;\n    }\n\n    return ((u64)hi << 32) | lo;\n}\n\n//sleep in milliseconds.\nvoid timer_sleep(u32 ms) {\n    u64 start = timer_get_ticks();\n\n    while(timer_get_ticks() < start + (ms * 1000)) {\n\n    }\n}\n"
  },
  {
    "path": "rpi_bm/part9/src/utils.S",
    "content": ".globl delay\ndelay:\n    subs x0, x0, #1\n    bne delay\n    ret\n\n.globl put32\nput32:\n    str w1, [x0]\n    ret\n\n.globl get32\nget32:\n    ldr w0, [x0]\n    ret\n\n.globl get_el\nget_el:\n    mrs x0, CurrentEL\n    lsr x0, x0, #2\n    ret\n"
  }
]