From e1d1b8ea4a306be30dbd336b56deb9a637be3154 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sun, 16 Mar 2025 19:29:37 +0000 Subject: [PATCH] vim config update --- .config/vim/.gitignore | 1 - .config/vim/autoload/plug.vim | 2863 ----------------------- .config/vim/autoload/plug.vim.old | 2859 ---------------------- .config/vim/debug.vim | 5 + .config/vim/general.vim | 22 +- .config/vim/init.vim | 3 +- .config/vim/keybindings.vim | 10 + .config/vim/lsp.vim | 63 +- .config/vim/netrw.vim | 5 + .config/vim/plugins.vim | 11 - .gitmodules | 42 + .vim/pack/editor/opt/rainbow | 1 + .vim/pack/editor/start/editorconfig-vim | 1 + .vim/pack/editor/start/papercolor-theme | 1 + .vim/pack/editor/start/ultisnips | 1 + .vim/pack/editor/start/vim-gitgutter | 1 + .vim/pack/editor/start/vim-healthcheck | 1 + .vim/pack/editor/start/vim-snippets | 1 + .vim/pack/files/opt/SchemaStore.vim | 1 + .vim/pack/files/opt/vim-cmake | 1 + .vim/pack/files/start/vim-gnupg | 1 + .vim/pack/files/start/vim-markdown | 1 + .vim/pack/lsp/start/lsp | 1 + .vim/pack/web/opt/vim-prettier | 1 + .vim/pack/web/opt/vim-pug | 1 + .vim/scheme.vimrc | 24 + .vim/spell/ru.utf-8.spl | Bin 0 -> 868406 bytes .vim/web.vimrc | 45 + README.md | 2 +- 29 files changed, 186 insertions(+), 5783 deletions(-) delete mode 100644 .config/vim/autoload/plug.vim delete mode 100644 .config/vim/autoload/plug.vim.old create mode 100644 .config/vim/debug.vim create mode 100644 .config/vim/keybindings.vim create mode 100644 .config/vim/netrw.vim delete mode 100644 .config/vim/plugins.vim create mode 100644 .gitmodules create mode 160000 .vim/pack/editor/opt/rainbow create mode 160000 .vim/pack/editor/start/editorconfig-vim create mode 160000 .vim/pack/editor/start/papercolor-theme create mode 160000 .vim/pack/editor/start/ultisnips create mode 160000 .vim/pack/editor/start/vim-gitgutter create mode 160000 .vim/pack/editor/start/vim-healthcheck create mode 160000 .vim/pack/editor/start/vim-snippets create mode 160000 .vim/pack/files/opt/SchemaStore.vim create mode 160000 .vim/pack/files/opt/vim-cmake create mode 160000 .vim/pack/files/start/vim-gnupg create mode 160000 .vim/pack/files/start/vim-markdown create mode 160000 .vim/pack/lsp/start/lsp create mode 160000 .vim/pack/web/opt/vim-prettier create mode 160000 .vim/pack/web/opt/vim-pug create mode 100644 .vim/scheme.vimrc create mode 100644 .vim/spell/ru.utf-8.spl create mode 100644 .vim/web.vimrc diff --git a/.config/vim/.gitignore b/.config/vim/.gitignore index 2747a15..a0e76af 100644 --- a/.config/vim/.gitignore +++ b/.config/vim/.gitignore @@ -1,2 +1 @@ .netrwhist -plugged/ diff --git a/.config/vim/autoload/plug.vim b/.config/vim/autoload/plug.vim deleted file mode 100644 index 5c910ca..0000000 --- a/.config/vim/autoload/plug.vim +++ /dev/null @@ -1,2863 +0,0 @@ -" vim-plug: Vim plugin manager -" ============================ -" -" 1. Download plug.vim and put it in 'autoload' directory -" -" # Vim -" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ -" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -" -" # Neovim -" sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \ -" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' -" -" 2. Add a vim-plug section to your ~/.vimrc (or ~/.config/nvim/init.vim for Neovim) -" -" call plug#begin() -" -" " List your plugins here -" Plug 'tpope/vim-sensible' -" -" call plug#end() -" -" 3. Reload the file or restart Vim, then you can, -" -" :PlugInstall to install plugins -" :PlugUpdate to update plugins -" :PlugDiff to review the changes from the last update -" :PlugClean to remove plugins no longer in the list -" -" For more information, see https://github.com/junegunn/vim-plug -" -" -" Copyright (c) 2024 Junegunn Choi -" -" MIT License -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the -" "Software"), to deal in the Software without restriction, including -" without limitation the rights to use, copy, modify, merge, publish, -" distribute, sublicense, and/or sell copies of the Software, and to -" permit persons to whom the Software is furnished to do so, subject to -" the following conditions: -" -" The above copyright notice and this permission notice shall be -" included in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -if exists('g:loaded_plug') - finish -endif -let g:loaded_plug = 1 - -let s:cpo_save = &cpo -set cpo&vim - -let s:plug_src = 'https://github.com/junegunn/vim-plug.git' -let s:plug_tab = get(s:, 'plug_tab', -1) -let s:plug_buf = get(s:, 'plug_buf', -1) -let s:mac_gui = has('gui_macvim') && has('gui_running') -let s:is_win = has('win32') -let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) -let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -if s:is_win && &shellslash - set noshellslash - let s:me = resolve(expand(':p')) - set shellslash -else - let s:me = resolve(expand(':p')) -endif -let s:base_spec = { 'branch': '', 'frozen': 0 } -let s:TYPE = { -\ 'string': type(''), -\ 'list': type([]), -\ 'dict': type({}), -\ 'funcref': type(function('call')) -\ } -let s:loaded = get(s:, 'loaded', {}) -let s:triggers = get(s:, 'triggers', {}) - -function! s:is_powershell(shell) - return a:shell =~# 'powershell\(\.exe\)\?$' || a:shell =~# 'pwsh\(\.exe\)\?$' -endfunction - -function! s:isabsolute(dir) abort - return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') -endfunction - -function! s:git_dir(dir) abort - let gitdir = s:trim(a:dir) . '/.git' - if isdirectory(gitdir) - return gitdir - endif - if !filereadable(gitdir) - return '' - endif - let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') - if len(gitdir) && !s:isabsolute(gitdir) - let gitdir = a:dir . '/' . gitdir - endif - return isdirectory(gitdir) ? gitdir : '' -endfunction - -function! s:git_origin_url(dir) abort - let gitdir = s:git_dir(a:dir) - let config = gitdir . '/config' - if empty(gitdir) || !filereadable(config) - return '' - endif - return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') -endfunction - -function! s:git_revision(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - - let line = get(readfile(head), 0, '') - let ref = matchstr(line, '^ref: \zs.*') - if empty(ref) - return line - endif - - if filereadable(gitdir . '/' . ref) - return get(readfile(gitdir . '/' . ref), 0, '') - endif - - if filereadable(gitdir . '/packed-refs') - for line in readfile(gitdir . '/packed-refs') - if line =~# ' ' . ref - return matchstr(line, '^[0-9a-f]*') - endif - endfor - endif - - return '' -endfunction - -function! s:git_local_branch(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') - return len(branch) ? branch : 'HEAD' -endfunction - -function! s:git_origin_branch(spec) - if len(a:spec.branch) - return a:spec.branch - endif - - " The file may not be present if this is a local repository - let gitdir = s:git_dir(a:spec.dir) - let origin_head = gitdir.'/refs/remotes/origin/HEAD' - if len(gitdir) && filereadable(origin_head) - return matchstr(get(readfile(origin_head), 0, ''), - \ '^ref: refs/remotes/origin/\zs.*') - endif - - " The command may not return the name of a branch in detached HEAD state - let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) - return v:shell_error ? '' : result[-1] -endfunction - -if s:is_win - function! s:plug_call(fn, ...) - let shellslash = &shellslash - try - set noshellslash - return call(a:fn, a:000) - finally - let &shellslash = shellslash - endtry - endfunction -else - function! s:plug_call(fn, ...) - return call(a:fn, a:000) - endfunction -endif - -function! s:plug_getcwd() - return s:plug_call('getcwd') -endfunction - -function! s:plug_fnamemodify(fname, mods) - return s:plug_call('fnamemodify', a:fname, a:mods) -endfunction - -function! s:plug_expand(fmt) - return s:plug_call('expand', a:fmt, 1) -endfunction - -function! s:plug_tempname() - return s:plug_call('tempname') -endfunction - -function! plug#begin(...) - if a:0 > 0 - let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) - elseif exists('g:plug_home') - let home = s:path(g:plug_home) - elseif has('nvim') - let home = stdpath('data') . '/plugged' - elseif !empty(&rtp) - let home = s:path(split(&rtp, ',')[0]) . '/plugged' - else - return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') - endif - if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp - return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') - endif - - let g:plug_home = home - let g:plugs = {} - let g:plugs_order = [] - let s:triggers = {} - - call s:define_commands() - return 1 -endfunction - -function! s:define_commands() - command! -nargs=+ -bar Plug call plug#() - if !executable('git') - return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') - endif - if has('win32') - \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || s:is_powershell(&shell)) - return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') - endif - if !has('nvim') - \ && (has('win32') || has('win32unix')) - \ && !has('multi_byte') - return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') - endif - command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(0, []) - command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(0, []) - command! -nargs=0 -bar -bang PlugClean call s:clean(0) - command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif - command! -nargs=0 -bar PlugStatus call s:status() - command! -nargs=0 -bar PlugDiff call s:diff() - command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(0, ) -endfunction - -function! s:to_a(v) - return type(a:v) == s:TYPE.list ? a:v : [a:v] -endfunction - -function! s:to_s(v) - return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" -endfunction - -function! s:glob(from, pattern) - return s:lines(globpath(a:from, a:pattern)) -endfunction - -function! s:source(from, ...) - let found = 0 - for pattern in a:000 - for vim in s:glob(a:from, pattern) - execute 'source' s:esc(vim) - let found = 1 - endfor - endfor - return found -endfunction - -function! s:assoc(dict, key, val) - let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) -endfunction - -function! s:ask(message, ...) - call inputsave() - echohl WarningMsg - let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) - echohl None - call inputrestore() - echo "\r" - return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 -endfunction - -function! s:ask_no_interrupt(...) - try - return call('s:ask', a:000) - catch - return 0 - endtry -endfunction - -function! s:lazy(plug, opt) - return has_key(a:plug, a:opt) && - \ (empty(s:to_a(a:plug[a:opt])) || - \ !isdirectory(a:plug.dir) || - \ len(s:glob(s:rtp(a:plug), 'plugin')) || - \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) -endfunction - -function! plug#end() - if !exists('g:plugs') - return s:err('plug#end() called without calling plug#begin() first') - endif - - if exists('#PlugLOD') - augroup PlugLOD - autocmd! - augroup END - augroup! PlugLOD - endif - let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - - if get(g:, 'did_load_filetypes', 0) - filetype off - endif - for name in g:plugs_order - if !has_key(g:plugs, name) - continue - endif - let plug = g:plugs[name] - if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') - let s:loaded[name] = 1 - continue - endif - - if has_key(plug, 'on') - let s:triggers[name] = { 'map': [], 'cmd': [] } - for cmd in s:to_a(plug.on) - if cmd =~? '^.\+' - if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) - call s:assoc(lod.map, cmd, name) - endif - call add(s:triggers[name].map, cmd) - elseif cmd =~# '^[A-Z]' - let cmd = substitute(cmd, '!*$', '', '') - if exists(':'.cmd) != 2 - call s:assoc(lod.cmd, cmd, name) - endif - call add(s:triggers[name].cmd, cmd) - else - call s:err('Invalid `on` option: '.cmd. - \ '. Should start with an uppercase letter or ``.') - endif - endfor - endif - - if has_key(plug, 'for') - let types = s:to_a(plug.for) - if !empty(types) - augroup filetypedetect - call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua') - endif - augroup END - endif - for type in types - call s:assoc(lod.ft, type, name) - endfor - endif - endfor - - for [cmd, names] in items(lod.cmd) - execute printf( - \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "", , , , %s)', - \ cmd, string(cmd), string(names)) - endfor - - for [map, names] in items(lod.map) - for [mode, map_prefix, key_prefix] in - \ [['i', '', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] - execute printf( - \ '%snoremap %s %s:call lod_map(%s, %s, %s, "%s")', - \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) - endfor - endfor - - for [ft, names] in items(lod.ft) - augroup PlugLOD - execute printf('autocmd FileType %s call lod_ft(%s, %s)', - \ ft, string(ft), string(names)) - augroup END - endfor - - call s:reorg_rtp() - filetype plugin indent on - if has('vim_starting') - if has('syntax') && !exists('g:syntax_on') - syntax enable - end - else - call s:reload_plugins() - endif -endfunction - -function! s:loaded_names() - return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') -endfunction - -function! s:load_plugin(spec) - call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua') - endif -endfunction - -function! s:reload_plugins() - for name in s:loaded_names() - call s:load_plugin(g:plugs[name]) - endfor -endfunction - -function! s:trim(str) - return substitute(a:str, '[\/]\+$', '', '') -endfunction - -function! s:version_requirement(val, min) - for idx in range(0, len(a:min) - 1) - let v = get(a:val, idx, 0) - if v < a:min[idx] | return 0 - elseif v > a:min[idx] | return 1 - endif - endfor - return 1 -endfunction - -function! s:git_version_requirement(...) - if !exists('s:git_version') - let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') - endif - return s:version_requirement(s:git_version, a:000) -endfunction - -function! s:progress_opt(base) - return a:base && !s:is_win && - \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' -endfunction - -function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) -endfunction - -if s:is_win - function! s:path(path) - return s:trim(substitute(a:path, '/', '\', 'g')) - endfunction - - function! s:dirpath(path) - return s:path(a:path) . '\' - endfunction - - function! s:is_local_plug(repo) - return a:repo =~? '^[a-z]:\|^[%~]' - endfunction - - " Copied from fzf - function! s:wrap_cmds(cmds) - let cmds = [ - \ '@echo off', - \ 'setlocal enabledelayedexpansion'] - \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) - \ + ['endlocal'] - if has('iconv') - if !exists('s:codepage') - let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) - endif - return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) - endif - return map(cmds, 'v:val."\r"') - endfunction - - function! s:batchfile(cmd) - let batchfile = s:plug_tempname().'.bat' - call writefile(s:wrap_cmds(a:cmd), batchfile) - let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - return [batchfile, cmd] - endfunction -else - function! s:path(path) - return s:trim(a:path) - endfunction - - function! s:dirpath(path) - return substitute(a:path, '[/\\]*$', '/', '') - endfunction - - function! s:is_local_plug(repo) - return a:repo[0] =~ '[/$~]' - endfunction -endif - -function! s:err(msg) - echohl ErrorMsg - echom '[vim-plug] '.a:msg - echohl None -endfunction - -function! s:warn(cmd, msg) - echohl WarningMsg - execute a:cmd 'a:msg' - echohl None -endfunction - -function! s:esc(path) - return escape(a:path, ' ') -endfunction - -function! s:escrtp(path) - return escape(a:path, ' ,') -endfunction - -function! s:remove_rtp() - for name in s:loaded_names() - let rtp = s:rtp(g:plugs[name]) - execute 'set rtp-='.s:escrtp(rtp) - let after = globpath(rtp, 'after') - if isdirectory(after) - execute 'set rtp-='.s:escrtp(after) - endif - endfor -endfunction - -function! s:reorg_rtp() - if !empty(s:first_rtp) - execute 'set rtp-='.s:first_rtp - execute 'set rtp-='.s:last_rtp - endif - - " &rtp is modified from outside - if exists('s:prtp') && s:prtp !=# &rtp - call s:remove_rtp() - unlet! s:middle - endif - - let s:middle = get(s:, 'middle', &rtp) - let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') - let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') - let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') - \ . ','.s:middle.',' - \ . join(map(afters, 'escape(v:val, ",")'), ',') - let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') - let s:prtp = &rtp - - if !empty(s:first_rtp) - execute 'set rtp^='.s:first_rtp - execute 'set rtp+='.s:last_rtp - endif -endfunction - -function! s:doautocmd(...) - if exists('#'.join(a:000, '#')) - execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '' : '') join(a:000) - endif -endfunction - -function! s:dobufread(names) - for name in a:names - let path = s:rtp(g:plugs[name]) - for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] - if len(finddir(dir, path)) - if exists('#BufRead') - doautocmd BufRead - endif - return - endif - endfor - endfor -endfunction - -function! plug#load(...) - if a:0 == 0 - return s:err('Argument missing: plugin name(s) required') - endif - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 - let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') - if !empty(unknowns) - let s = len(unknowns) > 1 ? 's' : '' - return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) - end - let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') - if !empty(unloaded) - for name in unloaded - call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - endfor - call s:dobufread(unloaded) - return 1 - end - return 0 -endfunction - -function! s:remove_triggers(name) - if !has_key(s:triggers, a:name) - return - endif - for cmd in s:triggers[a:name].cmd - execute 'silent! delc' cmd - endfor - for map in s:triggers[a:name].map - execute 'silent! unmap' map - execute 'silent! iunmap' map - endfor - call remove(s:triggers, a:name) -endfunction - -function! s:lod(names, types, ...) - for name in a:names - call s:remove_triggers(name) - let s:loaded[name] = 1 - endfor - call s:reorg_rtp() - - for name in a:names - let rtp = s:rtp(g:plugs[name]) - for dir in a:types - call s:source(rtp, dir.'/**/*.vim') - if has('nvim-0.5.0') " see neovim#14686 - call s:source(rtp, dir.'/**/*.lua') - endif - endfor - if a:0 - if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) - execute 'runtime' a:1 - endif - call s:source(rtp, a:2) - endif - call s:doautocmd('User', name) - endfor -endfunction - -function! s:lod_ft(pat, names) - let syn = 'syntax/'.a:pat.'.vim' - call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) - execute 'autocmd! PlugLOD FileType' a:pat - call s:doautocmd('filetypeplugin', 'FileType') - call s:doautocmd('filetypeindent', 'FileType') -endfunction - -function! s:lod_cmd(cmd, bang, l1, l2, args, names) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) -endfunction - -function! s:lod_map(map, names, with_prefix, prefix) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - let extra = '' - while 1 - let c = getchar(0) - if c == 0 - break - endif - let extra .= nr2char(c) - endwhile - - if a:with_prefix - let prefix = v:count ? v:count : '' - let prefix .= '"'.v:register.a:prefix - if mode(1) == 'no' - if v:operator == 'c' - let prefix = "\" . prefix - endif - let prefix .= v:operator - endif - call feedkeys(prefix, 'n') - endif - call feedkeys(substitute(a:map, '^', "\", '') . extra) -endfunction - -function! plug#(repo, ...) - if a:0 > 1 - return s:err('Invalid number of arguments (1..2)') - endif - - try - let repo = s:trim(a:repo) - let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) - let spec = extend(s:infer_properties(name, repo), opts) - if !has_key(g:plugs, name) - call add(g:plugs_order, name) - endif - let g:plugs[name] = spec - let s:loaded[name] = get(s:loaded, name, 0) - catch - return s:err(repo . ' ' . v:exception) - endtry -endfunction - -function! s:parse_options(arg) - let opts = copy(s:base_spec) - let type = type(a:arg) - let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' - if type == s:TYPE.string - if empty(a:arg) - throw printf(opt_errfmt, 'tag', 'string') - endif - let opts.tag = a:arg - elseif type == s:TYPE.dict - for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] - if has_key(a:arg, opt) - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string') - endif - endfor - for opt in ['on', 'for'] - if has_key(a:arg, opt) - \ && type(a:arg[opt]) != s:TYPE.list - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string or list') - endif - endfor - if has_key(a:arg, 'do') - \ && type(a:arg.do) != s:TYPE.funcref - \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) - throw printf(opt_errfmt, 'do', 'string or funcref') - endif - call extend(opts, a:arg) - if has_key(opts, 'dir') - let opts.dir = s:dirpath(s:plug_expand(opts.dir)) - endif - else - throw 'Invalid argument type (expected: string or dictionary)' - endif - return opts -endfunction - -function! s:infer_properties(name, repo) - let repo = a:repo - if s:is_local_plug(repo) - return { 'dir': s:dirpath(s:plug_expand(repo)) } - else - if repo =~ ':' - let uri = repo - else - if repo !~ '/' - throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) - endif - let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') - let uri = printf(fmt, repo) - endif - return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } - endif -endfunction - -function! s:install(force, names) - call s:update_impl(0, a:force, a:names) -endfunction - -function! s:update(force, names) - call s:update_impl(1, a:force, a:names) -endfunction - -function! plug#helptags() - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - for spec in values(g:plugs) - let docd = join([s:rtp(spec), 'doc'], '/') - if isdirectory(docd) - silent! execute 'helptags' s:esc(docd) - endif - endfor - return 1 -endfunction - -function! s:syntax() - syntax clear - syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber - syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX,plugAbort - syn match plugNumber /[0-9]\+[0-9.]*/ contained - syn match plugBracket /[[\]]/ contained - syn match plugX /x/ contained - syn match plugAbort /\~/ contained - syn match plugDash /^-\{1}\ / - syn match plugPlus /^+/ - syn match plugStar /^*/ - syn match plugMessage /\(^- \)\@<=.*/ - syn match plugName /\(^- \)\@<=[^ ]*:/ - syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ - syn match plugTag /(tag: [^)]\+)/ - syn match plugInstall /\(^+ \)\@<=[^:]*/ - syn match plugUpdate /\(^* \)\@<=[^:]*/ - syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag - syn match plugEdge /^ \X\+$/ - syn match plugEdge /^ \X*/ contained nextgroup=plugSha - syn match plugSha /[0-9a-f]\{7,9}/ contained - syn match plugRelDate /([^)]*)$/ contained - syn match plugNotLoaded /(not loaded)$/ - syn match plugError /^x.*/ - syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ - syn match plugH2 /^.*:\n-\+$/ - syn match plugH2 /^-\{2,}/ - syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean - hi def link plug1 Title - hi def link plug2 Repeat - hi def link plugH2 Type - hi def link plugX Exception - hi def link plugAbort Ignore - hi def link plugBracket Structure - hi def link plugNumber Number - - hi def link plugDash Special - hi def link plugPlus Constant - hi def link plugStar Boolean - - hi def link plugMessage Function - hi def link plugName Label - hi def link plugInstall Function - hi def link plugUpdate Type - - hi def link plugError Error - hi def link plugDeleted Ignore - hi def link plugRelDate Comment - hi def link plugEdge PreProc - hi def link plugSha Identifier - hi def link plugTag Constant - - hi def link plugNotLoaded Comment -endfunction - -function! s:lpad(str, len) - return a:str . repeat(' ', a:len - len(a:str)) -endfunction - -function! s:lines(msg) - return split(a:msg, "[\r\n]") -endfunction - -function! s:lastline(msg) - return get(s:lines(a:msg), -1, '') -endfunction - -function! s:new_window() - execute get(g:, 'plug_window', '-tabnew') -endfunction - -function! s:plug_window_exists() - let buflist = tabpagebuflist(s:plug_tab) - return !empty(buflist) && index(buflist, s:plug_buf) >= 0 -endfunction - -function! s:switch_in() - if !s:plug_window_exists() - return 0 - endif - - if winbufnr(0) != s:plug_buf - let s:pos = [tabpagenr(), winnr(), winsaveview()] - execute 'normal!' s:plug_tab.'gt' - let winnr = bufwinnr(s:plug_buf) - execute winnr.'wincmd w' - call add(s:pos, winsaveview()) - else - let s:pos = [winsaveview()] - endif - - setlocal modifiable - return 1 -endfunction - -function! s:switch_out(...) - call winrestview(s:pos[-1]) - setlocal nomodifiable - if a:0 > 0 - execute a:1 - endif - - if len(s:pos) > 1 - execute 'normal!' s:pos[0].'gt' - execute s:pos[1] 'wincmd w' - call winrestview(s:pos[2]) - endif -endfunction - -function! s:finish_bindings() - nnoremap R :call retry() - nnoremap D :PlugDiff - nnoremap S :PlugStatus - nnoremap U :call status_update() - xnoremap U :call status_update() - nnoremap ]] :silent! call section('') - nnoremap [[ :silent! call section('b') -endfunction - -function! s:prepare(...) - if empty(s:plug_getcwd()) - throw 'Invalid current working directory. Cannot proceed.' - endif - - for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] - if exists(evar) - throw evar.' detected. Cannot proceed.' - endif - endfor - - call s:job_abort(0) - if s:switch_in() - if b:plug_preview == 1 - pc - endif - enew - else - call s:new_window() - endif - - nnoremap q :call close_pane() - if a:0 == 0 - call s:finish_bindings() - endif - let b:plug_preview = -1 - let s:plug_tab = tabpagenr() - let s:plug_buf = winbufnr(0) - call s:assign_name() - - for k in ['', 'L', 'o', 'X', 'd', 'dd'] - execute 'silent! unmap ' k - endfor - setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell - if exists('+colorcolumn') - setlocal colorcolumn= - endif - setf vim-plug - if exists('g:syntax_on') - call s:syntax() - endif -endfunction - -function! s:close_pane() - if b:plug_preview == 1 - pc - let b:plug_preview = -1 - elseif exists('s:jobs') && !empty(s:jobs) - call s:job_abort(1) - else - bd - endif -endfunction - -function! s:assign_name() - " Assign buffer name - let prefix = '[Plugins]' - let name = prefix - let idx = 2 - while bufexists(name) - let name = printf('%s (%s)', prefix, idx) - let idx = idx + 1 - endwhile - silent! execute 'f' fnameescape(name) -endfunction - -function! s:chsh(swap) - let prev = [&shell, &shellcmdflag, &shellredir] - if !s:is_win - set shell=sh - endif - if a:swap - if s:is_powershell(&shell) - let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' - elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' - set shellredir=>%s\ 2>&1 - endif - endif - return prev -endfunction - -function! s:bang(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(a:0) - " FIXME: Escaping is incomplete. We could use shellescape with eval, - " but it won't work on Windows. - let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') - execute "normal! :execute g:_plug_bang\\" - finally - unlet g:_plug_bang - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - return v:shell_error ? 'Exit status: ' . v:shell_error : '' -endfunction - -function! s:regress_bar() - let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') - call s:progress_bar(2, bar, len(bar)) -endfunction - -function! s:is_updated(dir) - return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) -endfunction - -function! s:do(pull, force, todo) - if has('nvim') - " Reset &rtp to invalidate Neovim cache of loaded Lua modules - " See https://github.com/junegunn/vim-plug/pull/1157#issuecomment-1809226110 - let &rtp = &rtp - endif - for [name, spec] in items(a:todo) - if !isdirectory(spec.dir) - continue - endif - let installed = has_key(s:update.new, name) - let updated = installed ? 0 : - \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) - if a:force || installed || updated - execute 'cd' s:esc(spec.dir) - call append(3, '- Post-update hook for '. name .' ... ') - let error = '' - let type = type(spec.do) - if type == s:TYPE.string - if spec.do[0] == ':' - if !get(s:loaded, name, 0) - let s:loaded[name] = 1 - call s:reorg_rtp() - endif - call s:load_plugin(spec) - try - execute spec.do[1:] - catch - let error = v:exception - endtry - if !s:plug_window_exists() - cd - - throw 'Warning: vim-plug was terminated by the post-update hook of '.name - endif - else - let error = s:bang(spec.do) - endif - elseif type == s:TYPE.funcref - try - call s:load_plugin(spec) - let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') - call spec.do({ 'name': name, 'status': status, 'force': a:force }) - catch - let error = v:exception - endtry - else - let error = 'Invalid hook type' - endif - call s:switch_in() - call setline(4, empty(error) ? (getline(4) . 'OK') - \ : ('x' . getline(4)[1:] . error)) - if !empty(error) - call add(s:update.errors, name) - call s:regress_bar() - endif - cd - - endif - endfor -endfunction - -function! s:hash_match(a, b) - return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 -endfunction - -function! s:checkout(spec) - let sha = a:spec.commit - let output = s:git_revision(a:spec.dir) - let error = 0 - if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) - let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' - let output = s:system( - \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) - let error = v:shell_error - endif - return [output, error] -endfunction - -function! s:finish(pull) - let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) - if new_frozen - let s = new_frozen > 1 ? 's' : '' - call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) - endif - call append(3, '- Finishing ... ') | 4 - redraw - call plug#helptags() - call plug#end() - call setline(4, getline(4) . 'Done!') - redraw - let msgs = [] - if !empty(s:update.errors) - call add(msgs, "Press 'R' to retry.") - endif - if a:pull && len(s:update.new) < len(filter(getline(5, '$'), - \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) - call add(msgs, "Press 'D' to see the updated changes.") - endif - echo join(msgs, ' ') - call s:finish_bindings() -endfunction - -function! s:retry() - if empty(s:update.errors) - return - endif - echo - call s:update_impl(s:update.pull, s:update.force, - \ extend(copy(s:update.errors), [s:update.threads])) -endfunction - -function! s:is_managed(name) - return has_key(g:plugs[a:name], 'uri') -endfunction - -function! s:names(...) - return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) -endfunction - -function! s:check_ruby() - silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") - if !exists('g:plug_ruby') - redraw! - return s:warn('echom', 'Warning: Ruby interface is broken') - endif - let ruby_version = split(g:plug_ruby, '\.') - unlet g:plug_ruby - return s:version_requirement(ruby_version, [1, 8, 7]) -endfunction - -function! s:update_impl(pull, force, args) abort - let sync = index(a:args, '--sync') >= 0 || has('vim_starting') - let args = filter(copy(a:args), 'v:val != "--sync"') - let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? - \ remove(args, -1) : get(g:, 'plug_threads', 16) - - let managed = filter(deepcopy(g:plugs), 's:is_managed(v:key)') - let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : - \ filter(managed, 'index(args, v:key) >= 0') - - if empty(todo) - return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) - endif - - if !s:is_win && s:git_version_requirement(2, 3) - let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' - let $GIT_TERMINAL_PROMPT = 0 - for plug in values(todo) - let plug.uri = substitute(plug.uri, - \ '^https://git::@github\.com', 'https://github.com', '') - endfor - endif - - if !isdirectory(g:plug_home) - try - call mkdir(g:plug_home, 'p') - catch - return s:err(printf('Invalid plug directory: %s. '. - \ 'Try to call plug#begin with a valid directory', g:plug_home)) - endtry - endif - - if has('nvim') && !exists('*jobwait') && threads > 1 - call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') - endif - - let use_job = s:nvim || s:vim8 - let python = (has('python') || has('python3')) && !use_job - let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() - - let s:update = { - \ 'start': reltime(), - \ 'all': todo, - \ 'todo': copy(todo), - \ 'errors': [], - \ 'pull': a:pull, - \ 'force': a:force, - \ 'new': {}, - \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, - \ 'bar': '', - \ 'fin': 0 - \ } - - call s:prepare(1) - call append(0, ['', '']) - normal! 2G - silent! redraw - - " Set remote name, overriding a possible user git config's clone.defaultRemoteName - let s:clone_opt = ['--origin', 'origin'] - if get(g:, 'plug_shallow', 1) - call extend(s:clone_opt, ['--depth', '1']) - if s:git_version_requirement(1, 7, 10) - call add(s:clone_opt, '--no-single-branch') - endif - endif - - if has('win32unix') || has('wsl') - call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) - endif - - let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' - - " Python version requirement (>= 2.7) - if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 - redir => pyv - silent python import platform; print platform.python_version() - redir END - let python = s:version_requirement( - \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) - endif - - if (python || ruby) && s:update.threads > 1 - try - let imd = &imd - if s:mac_gui - set noimd - endif - if ruby - call s:update_ruby() - else - call s:update_python() - endif - catch - let lines = getline(4, '$') - let printed = {} - silent! 4,$d _ - for line in lines - let name = s:extract_name(line, '.', '') - if empty(name) || !has_key(printed, name) - call append('$', line) - if !empty(name) - let printed[name] = 1 - if line[0] == 'x' && index(s:update.errors, name) < 0 - call add(s:update.errors, name) - end - endif - endif - endfor - finally - let &imd = imd - call s:update_finish() - endtry - else - call s:update_vim() - while use_job && sync - sleep 100m - if s:update.fin - break - endif - endwhile - endif -endfunction - -function! s:log4(name, msg) - call setline(4, printf('- %s (%s)', a:msg, a:name)) - redraw -endfunction - -function! s:update_finish() - if exists('s:git_terminal_prompt') - let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt - endif - if s:switch_in() - call append(3, '- Updating ...') | 4 - for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) - let [pos, _] = s:logpos(name) - if !pos - continue - endif - let out = '' - let error = 0 - if has_key(spec, 'commit') - call s:log4(name, 'Checking out '.spec.commit) - let [out, error] = s:checkout(spec) - elseif has_key(spec, 'tag') - let tag = spec.tag - if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) - if !v:shell_error && !empty(tags) - let tag = tags[0] - call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) - call append(3, '') - endif - endif - call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) - let error = v:shell_error - endif - if !error && filereadable(spec.dir.'/.gitmodules') && - \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) - call s:log4(name, 'Updating submodules. This may take a while.') - let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) - let error = v:shell_error - endif - let msg = s:format_message(v:shell_error ? 'x': '-', name, out) - if error - call add(s:update.errors, name) - call s:regress_bar() - silent execute pos 'd _' - call append(4, msg) | 4 - elseif !empty(out) - call setline(pos, msg[0]) - endif - redraw - endfor - silent 4 d _ - try - call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) - catch - call s:warn('echom', v:exception) - call s:warn('echo', '') - return - endtry - call s:finish(s:update.pull) - call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') - call s:switch_out('normal! gg') - endif -endfunction - -function! s:mark_aborted(name, message) - let attrs = { 'running': 0, 'error': 1, 'abort': 1, 'lines': [a:message] } - let s:jobs[a:name] = extend(get(s:jobs, a:name, {}), attrs) -endfunction - -function! s:job_abort(cancel) - if (!s:nvim && !s:vim8) || !exists('s:jobs') - return - endif - - for [name, j] in items(s:jobs) - if s:nvim - silent! call jobstop(j.jobid) - elseif s:vim8 - silent! call job_stop(j.jobid) - endif - if j.new - call s:rm_rf(g:plugs[name].dir) - endif - if a:cancel - call s:mark_aborted(name, 'Aborted') - endif - endfor - - if a:cancel - for todo in values(s:update.todo) - let todo.abort = 1 - endfor - else - let s:jobs = {} - endif -endfunction - -function! s:last_non_empty_line(lines) - let len = len(a:lines) - for idx in range(len) - let line = a:lines[len-idx-1] - if !empty(line) - return line - endif - endfor - return '' -endfunction - -function! s:bullet_for(job, ...) - if a:job.running - return a:job.new ? '+' : '*' - endif - if get(a:job, 'abort', 0) - return '~' - endif - return a:job.error ? 'x' : get(a:000, 0, '-') -endfunction - -function! s:job_out_cb(self, data) abort - let self = a:self - let data = remove(self.lines, -1) . a:data - let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') - call extend(self.lines, lines) - " To reduce the number of buffer updates - let self.tick = get(self, 'tick', -1) + 1 - if !self.running || self.tick % len(s:jobs) == 0 - let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) - if len(result) - call s:log(s:bullet_for(self), self.name, result) - endif - endif -endfunction - -function! s:job_exit_cb(self, data) abort - let a:self.running = 0 - let a:self.error = a:data != 0 - call s:reap(a:self.name) - call s:tick() -endfunction - -function! s:job_cb(fn, job, ch, data) - if !s:plug_window_exists() " plug window closed - return s:job_abort(0) - endif - call call(a:fn, [a:job, a:data]) -endfunction - -function! s:nvim_cb(job_id, data, event) dict abort - return (a:event == 'stdout' || a:event == 'stderr') ? - \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : - \ s:job_cb('s:job_exit_cb', self, 0, a:data) -endfunction - -function! s:spawn(name, spec, queue, opts) - let job = { 'name': a:name, 'spec': a:spec, 'running': 1, 'error': 0, 'lines': [''], - \ 'new': get(a:opts, 'new', 0), 'queue': copy(a:queue) } - let Item = remove(job.queue, 0) - let argv = type(Item) == s:TYPE.funcref ? call(Item, [a:spec]) : Item - let s:jobs[a:name] = job - - if s:nvim - if has_key(a:opts, 'dir') - let job.cwd = a:opts.dir - endif - call extend(job, { - \ 'on_stdout': function('s:nvim_cb'), - \ 'on_stderr': function('s:nvim_cb'), - \ 'on_exit': function('s:nvim_cb'), - \ }) - let jid = s:plug_call('jobstart', argv, job) - if jid > 0 - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = [jid < 0 ? argv[0].' is not executable' : - \ 'Invalid arguments (or job table is full)'] - endif - elseif s:vim8 - let cmd = join(map(copy(argv), 'plug#shellescape(v:val, {"script": 0})')) - if has_key(a:opts, 'dir') - let cmd = s:with_cd(cmd, a:opts.dir, 0) - endif - let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] - let jid = job_start(s:is_win ? join(argv, ' ') : argv, { - \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), - \ 'err_mode': 'raw', - \ 'out_mode': 'raw' - \}) - if job_status(jid) == 'run' - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = ['Failed to start job'] - endif - else - let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [argv, a:opts.dir] : [argv])) - let job.error = v:shell_error != 0 - let job.running = 0 - endif -endfunction - -function! s:reap(name) - let job = remove(s:jobs, a:name) - if job.error - call add(s:update.errors, a:name) - elseif get(job, 'new', 0) - let s:update.new[a:name] = 1 - endif - - let more = len(get(job, 'queue', [])) - let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) - if len(result) - call s:log(s:bullet_for(job), a:name, result) - endif - - if !job.error && more - let job.spec.queue = job.queue - let s:update.todo[a:name] = job.spec - else - let s:update.bar .= s:bullet_for(job, '=') - call s:bar() - endif -endfunction - -function! s:bar() - if s:switch_in() - let total = len(s:update.all) - call setline(1, (s:update.pull ? 'Updating' : 'Installing'). - \ ' plugins ('.len(s:update.bar).'/'.total.')') - call s:progress_bar(2, s:update.bar, total) - call s:switch_out() - endif -endfunction - -function! s:logpos(name) - let max = line('$') - for i in range(4, max > 4 ? max : 4) - if getline(i) =~# '^[-+x*] '.a:name.':' - for j in range(i + 1, max > 5 ? max : 5) - if getline(j) !~ '^ ' - return [i, j - 1] - endif - endfor - return [i, i] - endif - endfor - return [0, 0] -endfunction - -function! s:log(bullet, name, lines) - if s:switch_in() - let [b, e] = s:logpos(a:name) - if b > 0 - silent execute printf('%d,%d d _', b, e) - if b > winheight('.') - let b = 4 - endif - else - let b = 4 - endif - " FIXME For some reason, nomodifiable is set after :d in vim8 - setlocal modifiable - call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) - call s:switch_out() - endif -endfunction - -function! s:update_vim() - let s:jobs = {} - - call s:bar() - call s:tick() -endfunction - -function! s:checkout_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'checkout', '-q', a:spec.branch, '--'] -endfunction - -function! s:merge_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'merge', '--ff-only', 'origin/'.a:spec.branch] -endfunction - -function! s:tick() - let pull = s:update.pull - let prog = s:progress_opt(s:nvim || s:vim8) -while 1 " Without TCO, Vim stack is bound to explode - if empty(s:update.todo) - if empty(s:jobs) && !s:update.fin - call s:update_finish() - let s:update.fin = 1 - endif - return - endif - - let name = keys(s:update.todo)[0] - let spec = remove(s:update.todo, name) - if get(spec, 'abort', 0) - call s:mark_aborted(name, 'Skipped') - call s:reap(name) - continue - endif - - let queue = get(spec, 'queue', []) - let new = empty(globpath(spec.dir, '.git', 1)) - - if empty(queue) - call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') - redraw - endif - - let has_tag = has_key(spec, 'tag') - if len(queue) - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - elseif !new - let [error, _] = s:git_validate(spec, 0) - if empty(error) - if pull - let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] - if has_tag && !empty(globpath(spec.dir, '.git/shallow')) - call extend(cmd, ['--depth', '99999999']) - endif - if !empty(prog) - call add(cmd, prog) - endif - let queue = [cmd, split('git remote set-head origin -a')] - if !has_tag && !has_key(spec, 'commit') - call extend(queue, [function('s:checkout_command'), function('s:merge_command')]) - endif - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - else - let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } - endif - else - let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } - endif - else - let cmd = ['git', 'clone'] - if !has_tag - call extend(cmd, s:clone_opt) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, spec, [extend(cmd, [spec.uri, s:trim(spec.dir)]), function('s:checkout_command'), function('s:merge_command')], { 'new': 1 }) - endif - - if !s:jobs[name].running - call s:reap(name) - endif - if len(s:jobs) >= s:update.threads - break - endif -endwhile -endfunction - -function! s:update_python() -let py_exe = has('python') ? 'python' : 'python3' -execute py_exe "<< EOF" -import datetime -import functools -import os -try: - import queue -except ImportError: - import Queue as queue -import random -import re -import shutil -import signal -import subprocess -import tempfile -import threading as thr -import time -import traceback -import vim - -G_NVIM = vim.eval("has('nvim')") == '1' -G_PULL = vim.eval('s:update.pull') == '1' -G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 -G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) -G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) -G_PROGRESS = vim.eval('s:progress_opt(1)') -G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) -G_STOP = thr.Event() -G_IS_WIN = vim.eval('s:is_win') == '1' - -class PlugError(Exception): - def __init__(self, msg): - self.msg = msg -class CmdTimedOut(PlugError): - pass -class CmdFailed(PlugError): - pass -class InvalidURI(PlugError): - pass -class Action(object): - INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] - -class Buffer(object): - def __init__(self, lock, num_plugs, is_pull): - self.bar = '' - self.event = 'Updating' if is_pull else 'Installing' - self.lock = lock - self.maxy = int(vim.eval('winheight(".")')) - self.num_plugs = num_plugs - - def __where(self, name): - """ Find first line with name in current buffer. Return line num. """ - found, lnum = False, 0 - matcher = re.compile('^[-+x*] {0}:'.format(name)) - for line in vim.current.buffer: - if matcher.search(line) is not None: - found = True - break - lnum += 1 - - if not found: - lnum = -1 - return lnum - - def header(self): - curbuf = vim.current.buffer - curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) - - num_spaces = self.num_plugs - len(self.bar) - curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') - - with self.lock: - vim.command('normal! 2G') - vim.command('redraw') - - def write(self, action, name, lines): - first, rest = lines[0], lines[1:] - msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] - msg.extend([' ' + line for line in rest]) - - try: - if action == Action.ERROR: - self.bar += 'x' - vim.command("call add(s:update.errors, '{0}')".format(name)) - elif action == Action.DONE: - self.bar += '=' - - curbuf = vim.current.buffer - lnum = self.__where(name) - if lnum != -1: # Found matching line num - del curbuf[lnum] - if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): - lnum = 3 - else: - lnum = 3 - curbuf.append(msg, lnum) - - self.header() - except vim.error: - pass - -class Command(object): - CD = 'cd /d' if G_IS_WIN else 'cd' - - def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): - self.cmd = cmd - if cmd_dir: - self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) - self.timeout = timeout - self.callback = cb if cb else (lambda msg: None) - self.clean = clean if clean else (lambda: None) - self.proc = None - - @property - def alive(self): - """ Returns true only if command still running. """ - return self.proc and self.proc.poll() is None - - def execute(self, ntries=3): - """ Execute the command with ntries if CmdTimedOut. - Returns the output of the command if no Exception. - """ - attempt, finished, limit = 0, False, self.timeout - - while not finished: - try: - attempt += 1 - result = self.try_command() - finished = True - return result - except CmdTimedOut: - if attempt != ntries: - self.notify_retry() - self.timeout += limit - else: - raise - - def notify_retry(self): - """ Retry required for command, notify user. """ - for count in range(3, 0, -1): - if G_STOP.is_set(): - raise KeyboardInterrupt - msg = 'Timeout. Will retry in {0} second{1} ...'.format( - count, 's' if count != 1 else '') - self.callback([msg]) - time.sleep(1) - self.callback(['Retrying ...']) - - def try_command(self): - """ Execute a cmd & poll for callback. Returns list of output. - Raises CmdFailed -> return code for Popen isn't 0 - Raises CmdTimedOut -> command exceeded timeout without new output - """ - first_line = True - - try: - tfile = tempfile.NamedTemporaryFile(mode='w+b') - preexec_fn = not G_IS_WIN and os.setsid or None - self.proc = subprocess.Popen(self.cmd, stdout=tfile, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, shell=True, - preexec_fn=preexec_fn) - thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) - thrd.start() - - thread_not_started = True - while thread_not_started: - try: - thrd.join(0.1) - thread_not_started = False - except RuntimeError: - pass - - while self.alive: - if G_STOP.is_set(): - raise KeyboardInterrupt - - if first_line or random.random() < G_LOG_PROB: - first_line = False - line = '' if G_IS_WIN else nonblock_read(tfile.name) - if line: - self.callback([line]) - - time_diff = time.time() - os.path.getmtime(tfile.name) - if time_diff > self.timeout: - raise CmdTimedOut(['Timeout!']) - - thrd.join(0.5) - - tfile.seek(0) - result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] - - if self.proc.returncode != 0: - raise CmdFailed([''] + result) - - return result - except: - self.terminate() - raise - - def terminate(self): - """ Terminate process and cleanup. """ - if self.alive: - if G_IS_WIN: - os.kill(self.proc.pid, signal.SIGINT) - else: - os.killpg(self.proc.pid, signal.SIGTERM) - self.clean() - -class Plugin(object): - def __init__(self, name, args, buf_q, lock): - self.name = name - self.args = args - self.buf_q = buf_q - self.lock = lock - self.tag = args.get('tag', 0) - - def manage(self): - try: - if os.path.exists(self.args['dir']): - self.update() - else: - self.install() - with self.lock: - thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) - except PlugError as exc: - self.write(Action.ERROR, self.name, exc.msg) - except KeyboardInterrupt: - G_STOP.set() - self.write(Action.ERROR, self.name, ['Interrupted!']) - except: - # Any exception except those above print stack trace - msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) - self.write(Action.ERROR, self.name, msg.split('\n')) - raise - - def install(self): - target = self.args['dir'] - if target[-1] == '\\': - target = target[0:-1] - - def clean(target): - def _clean(): - try: - shutil.rmtree(target) - except OSError: - pass - return _clean - - self.write(Action.INSTALL, self.name, ['Installing ...']) - callback = functools.partial(self.write, Action.INSTALL, self.name) - cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( - '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], - esc(target)) - com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - - def repo_uri(self): - cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' - command = Command(cmd, self.args['dir'], G_TIMEOUT,) - result = command.execute(G_RETRIES) - return result[-1] - - def update(self): - actual_uri = self.repo_uri() - expect_uri = self.args['uri'] - regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - ma = regex.match(actual_uri) - mb = regex.match(expect_uri) - if ma is None or mb is None or ma.groups() != mb.groups(): - msg = ['', - 'Invalid URI: {0}'.format(actual_uri), - 'Expected {0}'.format(expect_uri), - 'PlugClean required.'] - raise InvalidURI(msg) - - if G_PULL: - self.write(Action.UPDATE, self.name, ['Updating ...']) - callback = functools.partial(self.write, Action.UPDATE, self.name) - fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' - cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) - com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - else: - self.write(Action.DONE, self.name, ['Already installed']) - - def write(self, action, name, msg): - self.buf_q.put((action, name, msg)) - -class PlugThread(thr.Thread): - def __init__(self, tname, args): - super(PlugThread, self).__init__() - self.tname = tname - self.args = args - - def run(self): - thr.current_thread().name = self.tname - buf_q, work_q, lock = self.args - - try: - while not G_STOP.is_set(): - name, args = work_q.get_nowait() - plug = Plugin(name, args, buf_q, lock) - plug.manage() - work_q.task_done() - except queue.Empty: - pass - -class RefreshThread(thr.Thread): - def __init__(self, lock): - super(RefreshThread, self).__init__() - self.lock = lock - self.running = True - - def run(self): - while self.running: - with self.lock: - thread_vim_command('noautocmd normal! a') - time.sleep(0.33) - - def stop(self): - self.running = False - -if G_NVIM: - def thread_vim_command(cmd): - vim.session.threadsafe_call(lambda: vim.command(cmd)) -else: - def thread_vim_command(cmd): - vim.command(cmd) - -def esc(name): - return '"' + name.replace('"', '\"') + '"' - -def nonblock_read(fname): - """ Read a file with nonblock flag. Return the last line. """ - fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) - buf = os.read(fread, 100000).decode('utf-8', 'replace') - os.close(fread) - - line = buf.rstrip('\r\n') - left = max(line.rfind('\r'), line.rfind('\n')) - if left != -1: - left += 1 - line = line[left:] - - return line - -def main(): - thr.current_thread().name = 'main' - nthreads = int(vim.eval('s:update.threads')) - plugs = vim.eval('s:update.todo') - mac_gui = vim.eval('s:mac_gui') == '1' - - lock = thr.Lock() - buf = Buffer(lock, len(plugs), G_PULL) - buf_q, work_q = queue.Queue(), queue.Queue() - for work in plugs.items(): - work_q.put(work) - - start_cnt = thr.active_count() - for num in range(nthreads): - tname = 'PlugT-{0:02}'.format(num) - thread = PlugThread(tname, (buf_q, work_q, lock)) - thread.start() - if mac_gui: - rthread = RefreshThread(lock) - rthread.start() - - while not buf_q.empty() or thr.active_count() != start_cnt: - try: - action, name, msg = buf_q.get(True, 0.25) - buf.write(action, name, ['OK'] if not msg else msg) - buf_q.task_done() - except queue.Empty: - pass - except KeyboardInterrupt: - G_STOP.set() - - if mac_gui: - rthread.stop() - rthread.join() - -main() -EOF -endfunction - -function! s:update_ruby() - ruby << EOF - module PlugStream - SEP = ["\r", "\n", nil] - def get_line - buffer = '' - loop do - char = readchar rescue return - if SEP.include? char.chr - buffer << $/ - break - else - buffer << char - end - end - buffer - end - end unless defined?(PlugStream) - - def esc arg - %["#{arg.gsub('"', '\"')}"] - end - - def killall pid - pids = [pid] - if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM - pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } - else - unless `which pgrep 2> /dev/null`.empty? - children = pids - until children.empty? - children = children.map { |pid| - `pgrep -P #{pid}`.lines.map { |l| l.chomp } - }.flatten - pids += children - end - end - pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } - end - end - - def compare_git_uri a, b - regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} - regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) - end - - require 'thread' - require 'fileutils' - require 'timeout' - running = true - iswin = VIM::evaluate('s:is_win').to_i == 1 - pull = VIM::evaluate('s:update.pull').to_i == 1 - base = VIM::evaluate('g:plug_home') - all = VIM::evaluate('s:update.todo') - limit = VIM::evaluate('get(g:, "plug_timeout", 60)') - tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 - nthr = VIM::evaluate('s:update.threads').to_i - maxy = VIM::evaluate('winheight(".")').to_i - vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ - cd = iswin ? 'cd /d' : 'cd' - tot = VIM::evaluate('len(s:update.todo)') || 0 - bar = '' - skip = 'Already installed' - mtx = Mutex.new - take1 = proc { mtx.synchronize { running && all.shift } } - logh = proc { - cnt = bar.length - $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" - $curbuf[2] = '[' + bar.ljust(tot) + ']' - VIM::command('normal! 2G') - VIM::command('redraw') - } - where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } - log = proc { |name, result, type| - mtx.synchronize do - ing = ![true, false].include?(type) - bar += type ? '=' : 'x' unless ing - b = case type - when :install then '+' when :update then '*' - when true, nil then '-' else - VIM::command("call add(s:update.errors, '#{name}')") - 'x' - end - result = - if type || type.nil? - ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] - elsif result =~ /^Interrupted|^Timeout/ - ["#{b} #{name}: #{result}"] - else - ["#{b} #{name}"] + result.lines.map { |l| " " << l } - end - if lnum = where.call(name) - $curbuf.delete lnum - lnum = 4 if ing && lnum > maxy - end - result.each_with_index do |line, offset| - $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) - end - logh.call - end - } - bt = proc { |cmd, name, type, cleanup| - tried = timeout = 0 - begin - tried += 1 - timeout += limit - fd = nil - data = '' - if iswin - Timeout::timeout(timeout) do - tmp = VIM::evaluate('tempname()') - system("(#{cmd}) > #{tmp}") - data = File.read(tmp).chomp - File.unlink tmp rescue nil - end - else - fd = IO.popen(cmd).extend(PlugStream) - first_line = true - log_prob = 1.0 / nthr - while line = Timeout::timeout(timeout) { fd.get_line } - data << line - log.call name, line.chomp, type if name && (first_line || rand < log_prob) - first_line = false - end - fd.close - end - [$? == 0, data.chomp] - rescue Timeout::Error, Interrupt => e - if fd && !fd.closed? - killall fd.pid - fd.close - end - cleanup.call if cleanup - if e.is_a?(Timeout::Error) && tried < tries - 3.downto(1) do |countdown| - s = countdown > 1 ? 's' : '' - log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type - sleep 1 - end - log.call name, 'Retrying ...', type - retry - end - [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] - end - } - main = Thread.current - threads = [] - watcher = Thread.new { - if vim7 - while VIM::evaluate('getchar(1)') - sleep 0.1 - end - else - require 'io/console' # >= Ruby 1.9 - nil until IO.console.getch == 3.chr - end - mtx.synchronize do - running = false - threads.each { |t| t.raise Interrupt } unless vim7 - end - threads.each { |t| t.join rescue nil } - main.kill - } - refresh = Thread.new { - while true - mtx.synchronize do - break unless running - VIM::command('noautocmd normal! a') - end - sleep 0.2 - end - } if VIM::evaluate('s:mac_gui') == 1 - - clone_opt = VIM::evaluate('s:clone_opt').join(' ') - progress = VIM::evaluate('s:progress_opt(1)') - nthr.times do - mtx.synchronize do - threads << Thread.new { - while pair = take1.call - name = pair.first - dir, uri, tag = pair.last.values_at *%w[dir uri tag] - exists = File.directory? dir - ok, result = - if exists - chdir = "#{cd} #{iswin ? dir : esc(dir)}" - ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil - current_uri = data.lines.to_a.last - if !ret - if data =~ /^Interrupted|^Timeout/ - [false, data] - else - [false, [data.chomp, "PlugClean required."].join($/)] - end - elsif !compare_git_uri(current_uri, uri) - [false, ["Invalid URI: #{current_uri}", - "Expected: #{uri}", - "PlugClean required."].join($/)] - else - if pull - log.call name, 'Updating ...', :update - fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' - bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil - else - [true, skip] - end - end - else - d = esc dir.sub(%r{[\\/]+$}, '') - log.call name, 'Installing ...', :install - bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { - FileUtils.rm_rf dir - } - end - mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok - log.call name, result, ok - end - } if running - end - end - threads.each { |t| t.join rescue nil } - logh.call - refresh.kill if refresh - watcher.kill -EOF -endfunction - -function! s:shellesc_cmd(arg, script) - let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') - return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') -endfunction - -function! s:shellesc_ps1(arg) - return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" -endfunction - -function! s:shellesc_sh(arg) - return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" -endfunction - -" Escape the shell argument based on the shell. -" Vim and Neovim's shellescape() are insufficient. -" 1. shellslash determines whether to use single/double quotes. -" Double-quote escaping is fragile for cmd.exe. -" 2. It does not work for powershell. -" 3. It does not work for *sh shells if the command is executed -" via cmd.exe (ie. cmd.exe /c sh -c command command_args) -" 4. It does not support batchfile syntax. -" -" Accepts an optional dictionary with the following keys: -" - shell: same as Vim/Neovim 'shell' option. -" If unset, fallback to 'cmd.exe' on Windows or 'sh'. -" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. -function! plug#shellescape(arg, ...) - if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - endif - let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} - let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') - let script = get(opts, 'script', 1) - if shell =~# 'cmd\(\.exe\)\?$' - return s:shellesc_cmd(a:arg, script) - elseif s:is_powershell(shell) - return s:shellesc_ps1(a:arg) - endif - return s:shellesc_sh(a:arg) -endfunction - -function! s:glob_dir(path) - return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') -endfunction - -function! s:progress_bar(line, bar, total) - call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') -endfunction - -function! s:compare_git_uri(a, b) - " See `git help clone' - " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] - " [git@] github.com[:port] : junegunn/vim-plug [.git] - " file:// / junegunn/vim-plug [/] - " / junegunn/vim-plug [/] - let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' - let ma = matchlist(a:a, pat) - let mb = matchlist(a:b, pat) - return ma[1:2] ==# mb[1:2] -endfunction - -function! s:format_message(bullet, name, message) - if a:bullet != 'x' - return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] - else - let lines = map(s:lines(a:message), '" ".v:val') - return extend([printf('x %s:', a:name)], lines) - endif -endfunction - -function! s:with_cd(cmd, dir, ...) - let script = a:0 > 0 ? a:1 : 1 - let pwsh = s:is_powershell(&shell) - let cd = s:is_win && !pwsh ? 'cd /d' : 'cd' - let sep = pwsh ? ';' : '&&' - return printf('%s %s %s %s', cd, plug#shellescape(a:dir, {'script': script, 'shell': &shell}), sep, a:cmd) -endfunction - -function! s:system(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - if type(a:cmd) == s:TYPE.list - " Neovim's system() supports list argument to bypass the shell - " but it cannot set the working directory for the command. - " Assume that the command does not rely on the shell. - if has('nvim') && a:0 == 0 - return system(a:cmd) - endif - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - else - let cmd = a:cmd - endif - if a:0 > 0 - let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) - endif - if s:is_win && type(a:cmd) != s:TYPE.list - let [batchfile, cmd] = s:batchfile(cmd) - endif - return system(cmd) - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry -endfunction - -function! s:system_chomp(...) - let ret = call('s:system', a:000) - return v:shell_error ? '' : substitute(ret, '\n$', '', '') -endfunction - -function! s:git_validate(spec, check_branch) - let err = '' - if isdirectory(a:spec.dir) - let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] - let remote = result[-1] - if empty(remote) - let err = join([remote, 'PlugClean required.'], "\n") - elseif !s:compare_git_uri(remote, a:spec.uri) - let err = join(['Invalid URI: '.remote, - \ 'Expected: '.a:spec.uri, - \ 'PlugClean required.'], "\n") - elseif a:check_branch && has_key(a:spec, 'commit') - let sha = s:git_revision(a:spec.dir) - if empty(sha) - let err = join(add(result, 'PlugClean required.'), "\n") - elseif !s:hash_match(sha, a:spec.commit) - let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', - \ a:spec.commit[:6], sha[:6]), - \ 'PlugUpdate required.'], "\n") - endif - elseif a:check_branch - let current_branch = result[0] - " Check tag - let origin_branch = s:git_origin_branch(a:spec) - if has_key(a:spec, 'tag') - let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) - if a:spec.tag !=# tag && a:spec.tag !~ '\*' - let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', - \ (empty(tag) ? 'N/A' : tag), a:spec.tag) - endif - " Check branch - elseif origin_branch !=# current_branch - let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', - \ current_branch, origin_branch) - endif - if empty(err) - let ahead_behind = split(s:lastline(s:system([ - \ 'git', 'rev-list', '--count', '--left-right', - \ printf('HEAD...origin/%s', origin_branch) - \ ], a:spec.dir)), '\t') - if v:shell_error || len(ahead_behind) != 2 - let err = "Failed to compare with the origin. The default branch might have changed.\nPlugClean required." - else - let [ahead, behind] = ahead_behind - if ahead && behind - " Only mention PlugClean if diverged, otherwise it's likely to be - " pushable (and probably not that messed up). - let err = printf( - \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" - \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) - elseif ahead - let err = printf("Ahead of origin/%s by %d commit(s).\n" - \ .'Cannot update until local changes are pushed.', - \ origin_branch, ahead) - endif - endif - endif - endif - else - let err = 'Not found' - endif - return [err, err =~# 'PlugClean'] -endfunction - -function! s:rm_rf(dir) - if isdirectory(a:dir) - return s:system(s:is_win - \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) - \ : ['rm', '-rf', a:dir]) - endif -endfunction - -function! s:clean(force) - call s:prepare() - call append(0, 'Searching for invalid plugins in '.g:plug_home) - call append(1, '') - - " List of valid directories - let dirs = [] - let errs = {} - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - if !s:is_managed(name) || get(spec, 'frozen', 0) - call add(dirs, spec.dir) - else - let [err, clean] = s:git_validate(spec, 1) - if clean - let errs[spec.dir] = s:lines(err)[0] - else - call add(dirs, spec.dir) - endif - endif - let cnt += 1 - call s:progress_bar(2, repeat('=', cnt), total) - normal! 2G - redraw - endfor - - let allowed = {} - for dir in dirs - let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 - let allowed[dir] = 1 - for child in s:glob_dir(dir) - let allowed[child] = 1 - endfor - endfor - - let todo = [] - let found = sort(s:glob_dir(g:plug_home)) - while !empty(found) - let f = remove(found, 0) - if !has_key(allowed, f) && isdirectory(f) - call add(todo, f) - call append(line('$'), '- ' . f) - if has_key(errs, f) - call append(line('$'), ' ' . errs[f]) - endif - let found = filter(found, 'stridx(v:val, f) != 0') - end - endwhile - - 4 - redraw - if empty(todo) - call append(line('$'), 'Already clean.') - else - let s:clean_count = 0 - call append(3, ['Directories to delete:', '']) - redraw! - if a:force || s:ask_no_interrupt('Delete all directories?') - call s:delete([6, line('$')], 1) - else - call setline(4, 'Cancelled.') - nnoremap d :set opfunc=delete_opg@ - nmap dd d_ - xnoremap d :call delete_op(visualmode(), 1) - echo 'Delete the lines (d{motion}) to delete the corresponding directories' - endif - endif - 4 - setlocal nomodifiable -endfunction - -function! s:delete_op(type, ...) - call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) -endfunction - -function! s:delete(range, force) - let [l1, l2] = a:range - let force = a:force - let err_count = 0 - while l1 <= l2 - let line = getline(l1) - if line =~ '^- ' && isdirectory(line[2:]) - execute l1 - redraw! - let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) - let force = force || answer > 1 - if answer - let err = s:rm_rf(line[2:]) - setlocal modifiable - if empty(err) - call setline(l1, '~'.line[1:]) - let s:clean_count += 1 - else - delete _ - call append(l1 - 1, s:format_message('x', line[1:], err)) - let l2 += len(s:lines(err)) - let err_count += 1 - endif - let msg = printf('Removed %d directories.', s:clean_count) - if err_count > 0 - let msg .= printf(' Failed to remove %d directories.', err_count) - endif - call setline(4, msg) - setlocal nomodifiable - endif - endif - let l1 += 1 - endwhile -endfunction - -function! s:upgrade() - echo 'Downloading the latest version of vim-plug' - redraw - let tmp = s:plug_tempname() - let new = tmp . '/plug.vim' - - try - let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) - if v:shell_error - return s:err('Error upgrading vim-plug: '. out) - endif - - if readfile(s:me) ==# readfile(new) - echo 'vim-plug is already up-to-date' - return 0 - else - call rename(s:me, s:me . '.old') - call rename(new, s:me) - unlet g:loaded_plug - echo 'vim-plug has been upgraded' - return 1 - endif - finally - silent! call s:rm_rf(tmp) - endtry -endfunction - -function! s:upgrade_specs() - for spec in values(g:plugs) - let spec.frozen = get(spec, 'frozen', 0) - endfor -endfunction - -function! s:status() - call s:prepare() - call append(0, 'Checking plugins') - call append(1, '') - - let ecnt = 0 - let unloaded = 0 - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - let is_dir = isdirectory(spec.dir) - if has_key(spec, 'uri') - if is_dir - let [err, _] = s:git_validate(spec, 1) - let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] - else - let [valid, msg] = [0, 'Not found. Try PlugInstall.'] - endif - else - if is_dir - let [valid, msg] = [1, 'OK'] - else - let [valid, msg] = [0, 'Not found.'] - endif - endif - let cnt += 1 - let ecnt += !valid - " `s:loaded` entry can be missing if PlugUpgraded - if is_dir && get(s:loaded, name, -1) == 0 - let unloaded = 1 - let msg .= ' (not loaded)' - endif - call s:progress_bar(2, repeat('=', cnt), total) - call append(3, s:format_message(valid ? '-' : 'x', name, msg)) - normal! 2G - redraw - endfor - call setline(1, 'Finished. '.ecnt.' error(s).') - normal! gg - setlocal nomodifiable - if unloaded - echo "Press 'L' on each line to load plugin, or 'U' to update" - nnoremap L :call status_load(line('.')) - xnoremap L :call status_load(line('.')) - end -endfunction - -function! s:extract_name(str, prefix, suffix) - return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') -endfunction - -function! s:status_load(lnum) - let line = getline(a:lnum) - let name = s:extract_name(line, '-', '(not loaded)') - if !empty(name) - call plug#load(name) - setlocal modifiable - call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) - setlocal nomodifiable - endif -endfunction - -function! s:status_update() range - let lines = getline(a:firstline, a:lastline) - let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') - if !empty(names) - echo - execute 'PlugUpdate' join(names) - endif -endfunction - -function! s:is_preview_window_open() - silent! wincmd P - if &previewwindow - wincmd p - return 1 - endif -endfunction - -function! s:find_name(lnum) - for lnum in reverse(range(1, a:lnum)) - let line = getline(lnum) - if empty(line) - return '' - endif - let name = s:extract_name(line, '-', '') - if !empty(name) - return name - endif - endfor - return '' -endfunction - -function! s:preview_commit() - if b:plug_preview < 0 - let b:plug_preview = !s:is_preview_window_open() - endif - - let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') - if empty(sha) - let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$') - if empty(name) - return - endif - let title = 'HEAD@{1}..' - let command = 'git diff --no-color HEAD@{1}' - else - let title = sha - let command = 'git show --no-color --pretty=medium '.sha - let name = s:find_name(line('.')) - endif - - if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) - return - endif - - if !s:is_preview_window_open() - execute get(g:, 'plug_pwindow', 'vertical rightbelow new') - execute 'e' title - else - execute 'pedit' title - wincmd P - endif - setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - execute 'silent %!' cmd - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - setlocal nomodifiable - nnoremap q :q - wincmd p -endfunction - -function! s:section(flags) - call search('\(^[x-] \)\@<=[^:]\+:', a:flags) -endfunction - -function! s:format_git_log(line) - let indent = ' ' - let tokens = split(a:line, nr2char(1)) - if len(tokens) != 5 - return indent.substitute(a:line, '\s*$', '', '') - endif - let [graph, sha, refs, subject, date] = tokens - let tag = matchstr(refs, 'tag: [^,)]\+') - let tag = empty(tag) ? ' ' : ' ('.tag.') ' - return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) -endfunction - -function! s:append_ul(lnum, text) - call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) -endfunction - -function! s:diff() - call s:prepare() - call append(0, ['Collecting changes ...', '']) - let cnts = [0, 0] - let bar = '' - let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') - call s:progress_bar(2, bar, len(total)) - for origin in [1, 0] - let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) - if empty(plugs) - continue - endif - call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') - for [k, v] in plugs - let branch = s:git_origin_branch(v) - if len(branch) - let range = origin ? '..origin/'.branch : 'HEAD@{1}..' - let cmd = ['git', 'log', '--graph', '--color=never'] - if s:git_version_requirement(2, 10, 0) - call add(cmd, '--no-show-signature') - endif - call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) - if has_key(v, 'rtp') - call extend(cmd, ['--', v.rtp]) - endif - let diff = s:system_chomp(cmd, v.dir) - if !empty(diff) - let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' - call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) - let cnts[origin] += 1 - endif - endif - let bar .= '=' - call s:progress_bar(2, bar, len(total)) - normal! 2G - redraw - endfor - if !cnts[origin] - call append(5, ['', 'N/A']) - endif - endfor - call setline(1, printf('%d plugin(s) updated.', cnts[0]) - \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) - - if cnts[0] || cnts[1] - nnoremap (plug-preview) :silent! call preview_commit() - if empty(maparg("\", 'n')) - nmap (plug-preview) - endif - if empty(maparg('o', 'n')) - nmap o (plug-preview) - endif - endif - if cnts[0] - nnoremap X :call revert() - echo "Press 'X' on each block to revert the update" - endif - normal! gg - setlocal nomodifiable -endfunction - -function! s:revert() - if search('^Pending updates', 'bnW') - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || - \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' - return - endif - - call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) - setlocal modifiable - normal! "_dap - setlocal nomodifiable - echo 'Reverted' -endfunction - -function! s:snapshot(force, ...) abort - call s:prepare() - setf vim - call append(0, ['" Generated by vim-plug', - \ '" '.strftime("%c"), - \ '" :source this file in vim to restore the snapshot', - \ '" or execute: vim -S snapshot.vim', - \ '', '', 'PlugUpdate!']) - 1 - let anchor = line('$') - 3 - let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && isdirectory(v:val.dir)'))) - for name in reverse(names) - let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir) - if !empty(sha) - call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) - redraw - endif - endfor - - if a:0 > 0 - let fn = s:plug_expand(a:1) - if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) - return - endif - call writefile(getline(1, '$'), fn) - echo 'Saved as '.a:1 - silent execute 'e' s:esc(fn) - setf vim - endif -endfunction - -function! s:split_rtp() - return split(&rtp, '\\\@`-mappings | -"| `for` | On-demand loading: File types | -"| `frozen` | Do not update unless explicitly specified | -" -" More information: https://github.com/junegunn/vim-plug -" -" -" Copyright (c) 2017 Junegunn Choi -" -" MIT License -" -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the -" "Software"), to deal in the Software without restriction, including -" without limitation the rights to use, copy, modify, merge, publish, -" distribute, sublicense, and/or sell copies of the Software, and to -" permit persons to whom the Software is furnished to do so, subject to -" the following conditions: -" -" The above copyright notice and this permission notice shall be -" included in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -" NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -" LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -if exists('g:loaded_plug') - finish -endif -let g:loaded_plug = 1 - -let s:cpo_save = &cpo -set cpo&vim - -let s:plug_src = 'https://github.com/junegunn/vim-plug.git' -let s:plug_tab = get(s:, 'plug_tab', -1) -let s:plug_buf = get(s:, 'plug_buf', -1) -let s:mac_gui = has('gui_macvim') && has('gui_running') -let s:is_win = has('win32') -let s:nvim = has('nvim-0.2') || (has('nvim') && exists('*jobwait') && !s:is_win) -let s:vim8 = has('patch-8.0.0039') && exists('*job_start') -if s:is_win && &shellslash - set noshellslash - let s:me = resolve(expand(':p')) - set shellslash -else - let s:me = resolve(expand(':p')) -endif -let s:base_spec = { 'branch': '', 'frozen': 0 } -let s:TYPE = { -\ 'string': type(''), -\ 'list': type([]), -\ 'dict': type({}), -\ 'funcref': type(function('call')) -\ } -let s:loaded = get(s:, 'loaded', {}) -let s:triggers = get(s:, 'triggers', {}) - -function! s:is_powershell(shell) - return a:shell =~# 'powershell\(\.exe\)\?$' || a:shell =~# 'pwsh\(\.exe\)\?$' -endfunction - -function! s:isabsolute(dir) abort - return a:dir =~# '^/' || (has('win32') && a:dir =~? '^\%(\\\|[A-Z]:\)') -endfunction - -function! s:git_dir(dir) abort - let gitdir = s:trim(a:dir) . '/.git' - if isdirectory(gitdir) - return gitdir - endif - if !filereadable(gitdir) - return '' - endif - let gitdir = matchstr(get(readfile(gitdir), 0, ''), '^gitdir: \zs.*') - if len(gitdir) && !s:isabsolute(gitdir) - let gitdir = a:dir . '/' . gitdir - endif - return isdirectory(gitdir) ? gitdir : '' -endfunction - -function! s:git_origin_url(dir) abort - let gitdir = s:git_dir(a:dir) - let config = gitdir . '/config' - if empty(gitdir) || !filereadable(config) - return '' - endif - return matchstr(join(readfile(config)), '\[remote "origin"\].\{-}url\s*=\s*\zs\S*\ze') -endfunction - -function! s:git_revision(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - - let line = get(readfile(head), 0, '') - let ref = matchstr(line, '^ref: \zs.*') - if empty(ref) - return line - endif - - if filereadable(gitdir . '/' . ref) - return get(readfile(gitdir . '/' . ref), 0, '') - endif - - if filereadable(gitdir . '/packed-refs') - for line in readfile(gitdir . '/packed-refs') - if line =~# ' ' . ref - return matchstr(line, '^[0-9a-f]*') - endif - endfor - endif - - return '' -endfunction - -function! s:git_local_branch(dir) abort - let gitdir = s:git_dir(a:dir) - let head = gitdir . '/HEAD' - if empty(gitdir) || !filereadable(head) - return '' - endif - let branch = matchstr(get(readfile(head), 0, ''), '^ref: refs/heads/\zs.*') - return len(branch) ? branch : 'HEAD' -endfunction - -function! s:git_origin_branch(spec) - if len(a:spec.branch) - return a:spec.branch - endif - - " The file may not be present if this is a local repository - let gitdir = s:git_dir(a:spec.dir) - let origin_head = gitdir.'/refs/remotes/origin/HEAD' - if len(gitdir) && filereadable(origin_head) - return matchstr(get(readfile(origin_head), 0, ''), - \ '^ref: refs/remotes/origin/\zs.*') - endif - - " The command may not return the name of a branch in detached HEAD state - let result = s:lines(s:system('git symbolic-ref --short HEAD', a:spec.dir)) - return v:shell_error ? '' : result[-1] -endfunction - -if s:is_win - function! s:plug_call(fn, ...) - let shellslash = &shellslash - try - set noshellslash - return call(a:fn, a:000) - finally - let &shellslash = shellslash - endtry - endfunction -else - function! s:plug_call(fn, ...) - return call(a:fn, a:000) - endfunction -endif - -function! s:plug_getcwd() - return s:plug_call('getcwd') -endfunction - -function! s:plug_fnamemodify(fname, mods) - return s:plug_call('fnamemodify', a:fname, a:mods) -endfunction - -function! s:plug_expand(fmt) - return s:plug_call('expand', a:fmt, 1) -endfunction - -function! s:plug_tempname() - return s:plug_call('tempname') -endfunction - -function! plug#begin(...) - if a:0 > 0 - let s:plug_home_org = a:1 - let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) - elseif exists('g:plug_home') - let home = s:path(g:plug_home) - elseif has('nvim') - let home = stdpath('data') . '/plugged' - elseif !empty(&rtp) - let home = s:path(split(&rtp, ',')[0]) . '/plugged' - else - return s:err('Unable to determine plug home. Try calling plug#begin() with a path argument.') - endif - if s:plug_fnamemodify(home, ':t') ==# 'plugin' && s:plug_fnamemodify(home, ':h') ==# s:first_rtp - return s:err('Invalid plug home. '.home.' is a standard Vim runtime path and is not allowed.') - endif - - let g:plug_home = home - let g:plugs = {} - let g:plugs_order = [] - let s:triggers = {} - - call s:define_commands() - return 1 -endfunction - -function! s:define_commands() - command! -nargs=+ -bar Plug call plug#() - if !executable('git') - return s:err('`git` executable not found. Most commands will not be available. To suppress this message, prepend `silent!` to `call plug#begin(...)`.') - endif - if has('win32') - \ && &shellslash - \ && (&shell =~# 'cmd\(\.exe\)\?$' || s:is_powershell(&shell)) - return s:err('vim-plug does not support shell, ' . &shell . ', when shellslash is set.') - endif - if !has('nvim') - \ && (has('win32') || has('win32unix')) - \ && !has('multi_byte') - return s:err('Vim needs +multi_byte feature on Windows to run shell commands. Enable +iconv for best results.') - endif - command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(0, []) - command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate call s:update(0, []) - command! -nargs=0 -bar -bang PlugClean call s:clean(0) - command! -nargs=0 -bar PlugUpgrade if s:upgrade() | execute 'source' s:esc(s:me) | endif - command! -nargs=0 -bar PlugStatus call s:status() - command! -nargs=0 -bar PlugDiff call s:diff() - command! -nargs=? -bar -bang -complete=file PlugSnapshot call s:snapshot(0, ) -endfunction - -function! s:to_a(v) - return type(a:v) == s:TYPE.list ? a:v : [a:v] -endfunction - -function! s:to_s(v) - return type(a:v) == s:TYPE.string ? a:v : join(a:v, "\n") . "\n" -endfunction - -function! s:glob(from, pattern) - return s:lines(globpath(a:from, a:pattern)) -endfunction - -function! s:source(from, ...) - let found = 0 - for pattern in a:000 - for vim in s:glob(a:from, pattern) - execute 'source' s:esc(vim) - let found = 1 - endfor - endfor - return found -endfunction - -function! s:assoc(dict, key, val) - let a:dict[a:key] = add(get(a:dict, a:key, []), a:val) -endfunction - -function! s:ask(message, ...) - call inputsave() - echohl WarningMsg - let answer = input(a:message.(a:0 ? ' (y/N/a) ' : ' (y/N) ')) - echohl None - call inputrestore() - echo "\r" - return (a:0 && answer =~? '^a') ? 2 : (answer =~? '^y') ? 1 : 0 -endfunction - -function! s:ask_no_interrupt(...) - try - return call('s:ask', a:000) - catch - return 0 - endtry -endfunction - -function! s:lazy(plug, opt) - return has_key(a:plug, a:opt) && - \ (empty(s:to_a(a:plug[a:opt])) || - \ !isdirectory(a:plug.dir) || - \ len(s:glob(s:rtp(a:plug), 'plugin')) || - \ len(s:glob(s:rtp(a:plug), 'after/plugin'))) -endfunction - -function! plug#end() - if !exists('g:plugs') - return s:err('plug#end() called without calling plug#begin() first') - endif - - if exists('#PlugLOD') - augroup PlugLOD - autocmd! - augroup END - augroup! PlugLOD - endif - let lod = { 'ft': {}, 'map': {}, 'cmd': {} } - - if get(g:, 'did_load_filetypes', 0) - filetype off - endif - for name in g:plugs_order - if !has_key(g:plugs, name) - continue - endif - let plug = g:plugs[name] - if get(s:loaded, name, 0) || !s:lazy(plug, 'on') && !s:lazy(plug, 'for') - let s:loaded[name] = 1 - continue - endif - - if has_key(plug, 'on') - let s:triggers[name] = { 'map': [], 'cmd': [] } - for cmd in s:to_a(plug.on) - if cmd =~? '^.\+' - if empty(mapcheck(cmd)) && empty(mapcheck(cmd, 'i')) - call s:assoc(lod.map, cmd, name) - endif - call add(s:triggers[name].map, cmd) - elseif cmd =~# '^[A-Z]' - let cmd = substitute(cmd, '!*$', '', '') - if exists(':'.cmd) != 2 - call s:assoc(lod.cmd, cmd, name) - endif - call add(s:triggers[name].cmd, cmd) - else - call s:err('Invalid `on` option: '.cmd. - \ '. Should start with an uppercase letter or ``.') - endif - endfor - endif - - if has_key(plug, 'for') - let types = s:to_a(plug.for) - if !empty(types) - augroup filetypedetect - call s:source(s:rtp(plug), 'ftdetect/**/*.vim', 'after/ftdetect/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(plug), 'ftdetect/**/*.lua', 'after/ftdetect/**/*.lua') - endif - augroup END - endif - for type in types - call s:assoc(lod.ft, type, name) - endfor - endif - endfor - - for [cmd, names] in items(lod.cmd) - execute printf( - \ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "", , , , %s)', - \ cmd, string(cmd), string(names)) - endfor - - for [map, names] in items(lod.map) - for [mode, map_prefix, key_prefix] in - \ [['i', '', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']] - execute printf( - \ '%snoremap %s %s:call lod_map(%s, %s, %s, "%s")', - \ mode, map, map_prefix, string(map), string(names), mode != 'i', key_prefix) - endfor - endfor - - for [ft, names] in items(lod.ft) - augroup PlugLOD - execute printf('autocmd FileType %s call lod_ft(%s, %s)', - \ ft, string(ft), string(names)) - augroup END - endfor - - call s:reorg_rtp() - filetype plugin indent on - if has('vim_starting') - if has('syntax') && !exists('g:syntax_on') - syntax enable - end - else - call s:reload_plugins() - endif -endfunction - -function! s:loaded_names() - return filter(copy(g:plugs_order), 'get(s:loaded, v:val, 0)') -endfunction - -function! s:load_plugin(spec) - call s:source(s:rtp(a:spec), 'plugin/**/*.vim', 'after/plugin/**/*.vim') - if has('nvim-0.5.0') - call s:source(s:rtp(a:spec), 'plugin/**/*.lua', 'after/plugin/**/*.lua') - endif -endfunction - -function! s:reload_plugins() - for name in s:loaded_names() - call s:load_plugin(g:plugs[name]) - endfor -endfunction - -function! s:trim(str) - return substitute(a:str, '[\/]\+$', '', '') -endfunction - -function! s:version_requirement(val, min) - for idx in range(0, len(a:min) - 1) - let v = get(a:val, idx, 0) - if v < a:min[idx] | return 0 - elseif v > a:min[idx] | return 1 - endif - endfor - return 1 -endfunction - -function! s:git_version_requirement(...) - if !exists('s:git_version') - let s:git_version = map(split(split(s:system(['git', '--version']))[2], '\.'), 'str2nr(v:val)') - endif - return s:version_requirement(s:git_version, a:000) -endfunction - -function! s:progress_opt(base) - return a:base && !s:is_win && - \ s:git_version_requirement(1, 7, 1) ? '--progress' : '' -endfunction - -function! s:rtp(spec) - return s:path(a:spec.dir . get(a:spec, 'rtp', '')) -endfunction - -if s:is_win - function! s:path(path) - return s:trim(substitute(a:path, '/', '\', 'g')) - endfunction - - function! s:dirpath(path) - return s:path(a:path) . '\' - endfunction - - function! s:is_local_plug(repo) - return a:repo =~? '^[a-z]:\|^[%~]' - endfunction - - " Copied from fzf - function! s:wrap_cmds(cmds) - let cmds = [ - \ '@echo off', - \ 'setlocal enabledelayedexpansion'] - \ + (type(a:cmds) == type([]) ? a:cmds : [a:cmds]) - \ + ['endlocal'] - if has('iconv') - if !exists('s:codepage') - let s:codepage = libcallnr('kernel32.dll', 'GetACP', 0) - endif - return map(cmds, printf('iconv(v:val."\r", "%s", "cp%d")', &encoding, s:codepage)) - endif - return map(cmds, 'v:val."\r"') - endfunction - - function! s:batchfile(cmd) - let batchfile = s:plug_tempname().'.bat' - call writefile(s:wrap_cmds(a:cmd), batchfile) - let cmd = plug#shellescape(batchfile, {'shell': &shell, 'script': 0}) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - return [batchfile, cmd] - endfunction -else - function! s:path(path) - return s:trim(a:path) - endfunction - - function! s:dirpath(path) - return substitute(a:path, '[/\\]*$', '/', '') - endfunction - - function! s:is_local_plug(repo) - return a:repo[0] =~ '[/$~]' - endfunction -endif - -function! s:err(msg) - echohl ErrorMsg - echom '[vim-plug] '.a:msg - echohl None -endfunction - -function! s:warn(cmd, msg) - echohl WarningMsg - execute a:cmd 'a:msg' - echohl None -endfunction - -function! s:esc(path) - return escape(a:path, ' ') -endfunction - -function! s:escrtp(path) - return escape(a:path, ' ,') -endfunction - -function! s:remove_rtp() - for name in s:loaded_names() - let rtp = s:rtp(g:plugs[name]) - execute 'set rtp-='.s:escrtp(rtp) - let after = globpath(rtp, 'after') - if isdirectory(after) - execute 'set rtp-='.s:escrtp(after) - endif - endfor -endfunction - -function! s:reorg_rtp() - if !empty(s:first_rtp) - execute 'set rtp-='.s:first_rtp - execute 'set rtp-='.s:last_rtp - endif - - " &rtp is modified from outside - if exists('s:prtp') && s:prtp !=# &rtp - call s:remove_rtp() - unlet! s:middle - endif - - let s:middle = get(s:, 'middle', &rtp) - let rtps = map(s:loaded_names(), 's:rtp(g:plugs[v:val])') - let afters = filter(map(copy(rtps), 'globpath(v:val, "after")'), '!empty(v:val)') - let rtp = join(map(rtps, 'escape(v:val, ",")'), ',') - \ . ','.s:middle.',' - \ . join(map(afters, 'escape(v:val, ",")'), ',') - let &rtp = substitute(substitute(rtp, ',,*', ',', 'g'), '^,\|,$', '', 'g') - let s:prtp = &rtp - - if !empty(s:first_rtp) - execute 'set rtp^='.s:first_rtp - execute 'set rtp+='.s:last_rtp - endif -endfunction - -function! s:doautocmd(...) - if exists('#'.join(a:000, '#')) - execute 'doautocmd' ((v:version > 703 || has('patch442')) ? '' : '') join(a:000) - endif -endfunction - -function! s:dobufread(names) - for name in a:names - let path = s:rtp(g:plugs[name]) - for dir in ['ftdetect', 'ftplugin', 'after/ftdetect', 'after/ftplugin'] - if len(finddir(dir, path)) - if exists('#BufRead') - doautocmd BufRead - endif - return - endif - endfor - endfor -endfunction - -function! plug#load(...) - if a:0 == 0 - return s:err('Argument missing: plugin name(s) required') - endif - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - let names = a:0 == 1 && type(a:1) == s:TYPE.list ? a:1 : a:000 - let unknowns = filter(copy(names), '!has_key(g:plugs, v:val)') - if !empty(unknowns) - let s = len(unknowns) > 1 ? 's' : '' - return s:err(printf('Unknown plugin%s: %s', s, join(unknowns, ', '))) - end - let unloaded = filter(copy(names), '!get(s:loaded, v:val, 0)') - if !empty(unloaded) - for name in unloaded - call s:lod([name], ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - endfor - call s:dobufread(unloaded) - return 1 - end - return 0 -endfunction - -function! s:remove_triggers(name) - if !has_key(s:triggers, a:name) - return - endif - for cmd in s:triggers[a:name].cmd - execute 'silent! delc' cmd - endfor - for map in s:triggers[a:name].map - execute 'silent! unmap' map - execute 'silent! iunmap' map - endfor - call remove(s:triggers, a:name) -endfunction - -function! s:lod(names, types, ...) - for name in a:names - call s:remove_triggers(name) - let s:loaded[name] = 1 - endfor - call s:reorg_rtp() - - for name in a:names - let rtp = s:rtp(g:plugs[name]) - for dir in a:types - call s:source(rtp, dir.'/**/*.vim') - if has('nvim-0.5.0') " see neovim#14686 - call s:source(rtp, dir.'/**/*.lua') - endif - endfor - if a:0 - if !s:source(rtp, a:1) && !empty(s:glob(rtp, a:2)) - execute 'runtime' a:1 - endif - call s:source(rtp, a:2) - endif - call s:doautocmd('User', name) - endfor -endfunction - -function! s:lod_ft(pat, names) - let syn = 'syntax/'.a:pat.'.vim' - call s:lod(a:names, ['plugin', 'after/plugin'], syn, 'after/'.syn) - execute 'autocmd! PlugLOD FileType' a:pat - call s:doautocmd('filetypeplugin', 'FileType') - call s:doautocmd('filetypeindent', 'FileType') -endfunction - -function! s:lod_cmd(cmd, bang, l1, l2, args, names) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) -endfunction - -function! s:lod_map(map, names, with_prefix, prefix) - call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) - call s:dobufread(a:names) - let extra = '' - while 1 - let c = getchar(0) - if c == 0 - break - endif - let extra .= nr2char(c) - endwhile - - if a:with_prefix - let prefix = v:count ? v:count : '' - let prefix .= '"'.v:register.a:prefix - if mode(1) == 'no' - if v:operator == 'c' - let prefix = "\" . prefix - endif - let prefix .= v:operator - endif - call feedkeys(prefix, 'n') - endif - call feedkeys(substitute(a:map, '^', "\", '') . extra) -endfunction - -function! plug#(repo, ...) - if a:0 > 1 - return s:err('Invalid number of arguments (1..2)') - endif - - try - let repo = s:trim(a:repo) - let opts = a:0 == 1 ? s:parse_options(a:1) : s:base_spec - let name = get(opts, 'as', s:plug_fnamemodify(repo, ':t:s?\.git$??')) - let spec = extend(s:infer_properties(name, repo), opts) - if !has_key(g:plugs, name) - call add(g:plugs_order, name) - endif - let g:plugs[name] = spec - let s:loaded[name] = get(s:loaded, name, 0) - catch - return s:err(repo . ' ' . v:exception) - endtry -endfunction - -function! s:parse_options(arg) - let opts = copy(s:base_spec) - let type = type(a:arg) - let opt_errfmt = 'Invalid argument for "%s" option of :Plug (expected: %s)' - if type == s:TYPE.string - if empty(a:arg) - throw printf(opt_errfmt, 'tag', 'string') - endif - let opts.tag = a:arg - elseif type == s:TYPE.dict - for opt in ['branch', 'tag', 'commit', 'rtp', 'dir', 'as'] - if has_key(a:arg, opt) - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string') - endif - endfor - for opt in ['on', 'for'] - if has_key(a:arg, opt) - \ && type(a:arg[opt]) != s:TYPE.list - \ && (type(a:arg[opt]) != s:TYPE.string || empty(a:arg[opt])) - throw printf(opt_errfmt, opt, 'string or list') - endif - endfor - if has_key(a:arg, 'do') - \ && type(a:arg.do) != s:TYPE.funcref - \ && (type(a:arg.do) != s:TYPE.string || empty(a:arg.do)) - throw printf(opt_errfmt, 'do', 'string or funcref') - endif - call extend(opts, a:arg) - if has_key(opts, 'dir') - let opts.dir = s:dirpath(s:plug_expand(opts.dir)) - endif - else - throw 'Invalid argument type (expected: string or dictionary)' - endif - return opts -endfunction - -function! s:infer_properties(name, repo) - let repo = a:repo - if s:is_local_plug(repo) - return { 'dir': s:dirpath(s:plug_expand(repo)) } - else - if repo =~ ':' - let uri = repo - else - if repo !~ '/' - throw printf('Invalid argument: %s (implicit `vim-scripts'' expansion is deprecated)', repo) - endif - let fmt = get(g:, 'plug_url_format', 'https://git::@github.com/%s.git') - let uri = printf(fmt, repo) - endif - return { 'dir': s:dirpath(g:plug_home.'/'.a:name), 'uri': uri } - endif -endfunction - -function! s:install(force, names) - call s:update_impl(0, a:force, a:names) -endfunction - -function! s:update(force, names) - call s:update_impl(1, a:force, a:names) -endfunction - -function! plug#helptags() - if !exists('g:plugs') - return s:err('plug#begin was not called') - endif - for spec in values(g:plugs) - let docd = join([s:rtp(spec), 'doc'], '/') - if isdirectory(docd) - silent! execute 'helptags' s:esc(docd) - endif - endfor - return 1 -endfunction - -function! s:syntax() - syntax clear - syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber - syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX - syn match plugNumber /[0-9]\+[0-9.]*/ contained - syn match plugBracket /[[\]]/ contained - syn match plugX /x/ contained - syn match plugDash /^-\{1}\ / - syn match plugPlus /^+/ - syn match plugStar /^*/ - syn match plugMessage /\(^- \)\@<=.*/ - syn match plugName /\(^- \)\@<=[^ ]*:/ - syn match plugSha /\%(: \)\@<=[0-9a-f]\{4,}$/ - syn match plugTag /(tag: [^)]\+)/ - syn match plugInstall /\(^+ \)\@<=[^:]*/ - syn match plugUpdate /\(^* \)\@<=[^:]*/ - syn match plugCommit /^ \X*[0-9a-f]\{7,9} .*/ contains=plugRelDate,plugEdge,plugTag - syn match plugEdge /^ \X\+$/ - syn match plugEdge /^ \X*/ contained nextgroup=plugSha - syn match plugSha /[0-9a-f]\{7,9}/ contained - syn match plugRelDate /([^)]*)$/ contained - syn match plugNotLoaded /(not loaded)$/ - syn match plugError /^x.*/ - syn region plugDeleted start=/^\~ .*/ end=/^\ze\S/ - syn match plugH2 /^.*:\n-\+$/ - syn match plugH2 /^-\{2,}/ - syn keyword Function PlugInstall PlugStatus PlugUpdate PlugClean - hi def link plug1 Title - hi def link plug2 Repeat - hi def link plugH2 Type - hi def link plugX Exception - hi def link plugBracket Structure - hi def link plugNumber Number - - hi def link plugDash Special - hi def link plugPlus Constant - hi def link plugStar Boolean - - hi def link plugMessage Function - hi def link plugName Label - hi def link plugInstall Function - hi def link plugUpdate Type - - hi def link plugError Error - hi def link plugDeleted Ignore - hi def link plugRelDate Comment - hi def link plugEdge PreProc - hi def link plugSha Identifier - hi def link plugTag Constant - - hi def link plugNotLoaded Comment -endfunction - -function! s:lpad(str, len) - return a:str . repeat(' ', a:len - len(a:str)) -endfunction - -function! s:lines(msg) - return split(a:msg, "[\r\n]") -endfunction - -function! s:lastline(msg) - return get(s:lines(a:msg), -1, '') -endfunction - -function! s:new_window() - execute get(g:, 'plug_window', '-tabnew') -endfunction - -function! s:plug_window_exists() - let buflist = tabpagebuflist(s:plug_tab) - return !empty(buflist) && index(buflist, s:plug_buf) >= 0 -endfunction - -function! s:switch_in() - if !s:plug_window_exists() - return 0 - endif - - if winbufnr(0) != s:plug_buf - let s:pos = [tabpagenr(), winnr(), winsaveview()] - execute 'normal!' s:plug_tab.'gt' - let winnr = bufwinnr(s:plug_buf) - execute winnr.'wincmd w' - call add(s:pos, winsaveview()) - else - let s:pos = [winsaveview()] - endif - - setlocal modifiable - return 1 -endfunction - -function! s:switch_out(...) - call winrestview(s:pos[-1]) - setlocal nomodifiable - if a:0 > 0 - execute a:1 - endif - - if len(s:pos) > 1 - execute 'normal!' s:pos[0].'gt' - execute s:pos[1] 'wincmd w' - call winrestview(s:pos[2]) - endif -endfunction - -function! s:finish_bindings() - nnoremap R :call retry() - nnoremap D :PlugDiff - nnoremap S :PlugStatus - nnoremap U :call status_update() - xnoremap U :call status_update() - nnoremap ]] :silent! call section('') - nnoremap [[ :silent! call section('b') -endfunction - -function! s:prepare(...) - if empty(s:plug_getcwd()) - throw 'Invalid current working directory. Cannot proceed.' - endif - - for evar in ['$GIT_DIR', '$GIT_WORK_TREE'] - if exists(evar) - throw evar.' detected. Cannot proceed.' - endif - endfor - - call s:job_abort() - if s:switch_in() - if b:plug_preview == 1 - pc - endif - enew - else - call s:new_window() - endif - - nnoremap q :call close_pane() - if a:0 == 0 - call s:finish_bindings() - endif - let b:plug_preview = -1 - let s:plug_tab = tabpagenr() - let s:plug_buf = winbufnr(0) - call s:assign_name() - - for k in ['', 'L', 'o', 'X', 'd', 'dd'] - execute 'silent! unmap ' k - endfor - setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell - if exists('+colorcolumn') - setlocal colorcolumn= - endif - setf vim-plug - if exists('g:syntax_on') - call s:syntax() - endif -endfunction - -function! s:close_pane() - if b:plug_preview == 1 - pc - let b:plug_preview = -1 - else - bd - endif -endfunction - -function! s:assign_name() - " Assign buffer name - let prefix = '[Plugins]' - let name = prefix - let idx = 2 - while bufexists(name) - let name = printf('%s (%s)', prefix, idx) - let idx = idx + 1 - endwhile - silent! execute 'f' fnameescape(name) -endfunction - -function! s:chsh(swap) - let prev = [&shell, &shellcmdflag, &shellredir] - if !s:is_win - set shell=sh - endif - if a:swap - if s:is_powershell(&shell) - let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s' - elseif &shell =~# 'sh' || &shell =~# 'cmd\(\.exe\)\?$' - set shellredir=>%s\ 2>&1 - endif - endif - return prev -endfunction - -function! s:bang(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(a:0) - " FIXME: Escaping is incomplete. We could use shellescape with eval, - " but it won't work on Windows. - let cmd = a:0 ? s:with_cd(a:cmd, a:1) : a:cmd - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%') - execute "normal! :execute g:_plug_bang\\" - finally - unlet g:_plug_bang - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - return v:shell_error ? 'Exit status: ' . v:shell_error : '' -endfunction - -function! s:regress_bar() - let bar = substitute(getline(2)[1:-2], '.*\zs=', 'x', '') - call s:progress_bar(2, bar, len(bar)) -endfunction - -function! s:is_updated(dir) - return !empty(s:system_chomp(['git', 'log', '--pretty=format:%h', 'HEAD...HEAD@{1}'], a:dir)) -endfunction - -function! s:do(pull, force, todo) - if has('nvim') - " Reset &rtp to invalidate Neovim cache of loaded Lua modules - " See https://github.com/junegunn/vim-plug/pull/1157#issuecomment-1809226110 - let &rtp = &rtp - endif - for [name, spec] in items(a:todo) - if !isdirectory(spec.dir) - continue - endif - let installed = has_key(s:update.new, name) - let updated = installed ? 0 : - \ (a:pull && index(s:update.errors, name) < 0 && s:is_updated(spec.dir)) - if a:force || installed || updated - execute 'cd' s:esc(spec.dir) - call append(3, '- Post-update hook for '. name .' ... ') - let error = '' - let type = type(spec.do) - if type == s:TYPE.string - if spec.do[0] == ':' - if !get(s:loaded, name, 0) - let s:loaded[name] = 1 - call s:reorg_rtp() - endif - call s:load_plugin(spec) - try - execute spec.do[1:] - catch - let error = v:exception - endtry - if !s:plug_window_exists() - cd - - throw 'Warning: vim-plug was terminated by the post-update hook of '.name - endif - else - let error = s:bang(spec.do) - endif - elseif type == s:TYPE.funcref - try - call s:load_plugin(spec) - let status = installed ? 'installed' : (updated ? 'updated' : 'unchanged') - call spec.do({ 'name': name, 'status': status, 'force': a:force }) - catch - let error = v:exception - endtry - else - let error = 'Invalid hook type' - endif - call s:switch_in() - call setline(4, empty(error) ? (getline(4) . 'OK') - \ : ('x' . getline(4)[1:] . error)) - if !empty(error) - call add(s:update.errors, name) - call s:regress_bar() - endif - cd - - endif - endfor -endfunction - -function! s:hash_match(a, b) - return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 -endfunction - -function! s:checkout(spec) - let sha = a:spec.commit - let output = s:git_revision(a:spec.dir) - let error = 0 - if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) - let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' - let output = s:system( - \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) - let error = v:shell_error - endif - return [output, error] -endfunction - -function! s:finish(pull) - let new_frozen = len(filter(keys(s:update.new), 'g:plugs[v:val].frozen')) - if new_frozen - let s = new_frozen > 1 ? 's' : '' - call append(3, printf('- Installed %d frozen plugin%s', new_frozen, s)) - endif - call append(3, '- Finishing ... ') | 4 - redraw - call plug#helptags() - call plug#end() - call setline(4, getline(4) . 'Done!') - redraw - let msgs = [] - if !empty(s:update.errors) - call add(msgs, "Press 'R' to retry.") - endif - if a:pull && len(s:update.new) < len(filter(getline(5, '$'), - \ "v:val =~ '^- ' && v:val !~# 'Already up.to.date'")) - call add(msgs, "Press 'D' to see the updated changes.") - endif - echo join(msgs, ' ') - call s:finish_bindings() -endfunction - -function! s:retry() - if empty(s:update.errors) - return - endif - echo - call s:update_impl(s:update.pull, s:update.force, - \ extend(copy(s:update.errors), [s:update.threads])) -endfunction - -function! s:is_managed(name) - return has_key(g:plugs[a:name], 'uri') -endfunction - -function! s:names(...) - return sort(filter(keys(g:plugs), 'stridx(v:val, a:1) == 0 && s:is_managed(v:val)')) -endfunction - -function! s:check_ruby() - silent! ruby require 'thread'; VIM::command("let g:plug_ruby = '#{RUBY_VERSION}'") - if !exists('g:plug_ruby') - redraw! - return s:warn('echom', 'Warning: Ruby interface is broken') - endif - let ruby_version = split(g:plug_ruby, '\.') - unlet g:plug_ruby - return s:version_requirement(ruby_version, [1, 8, 7]) -endfunction - -function! s:update_impl(pull, force, args) abort - let sync = index(a:args, '--sync') >= 0 || has('vim_starting') - let args = filter(copy(a:args), 'v:val != "--sync"') - let threads = (len(args) > 0 && args[-1] =~ '^[1-9][0-9]*$') ? - \ remove(args, -1) : get(g:, 'plug_threads', 16) - - let managed = filter(deepcopy(g:plugs), 's:is_managed(v:key)') - let todo = empty(args) ? filter(managed, '!v:val.frozen || !isdirectory(v:val.dir)') : - \ filter(managed, 'index(args, v:key) >= 0') - - if empty(todo) - return s:warn('echo', 'No plugin to '. (a:pull ? 'update' : 'install')) - endif - - if !s:is_win && s:git_version_requirement(2, 3) - let s:git_terminal_prompt = exists('$GIT_TERMINAL_PROMPT') ? $GIT_TERMINAL_PROMPT : '' - let $GIT_TERMINAL_PROMPT = 0 - for plug in values(todo) - let plug.uri = substitute(plug.uri, - \ '^https://git::@github\.com', 'https://github.com', '') - endfor - endif - - if !isdirectory(g:plug_home) - try - call mkdir(g:plug_home, 'p') - catch - return s:err(printf('Invalid plug directory: %s. '. - \ 'Try to call plug#begin with a valid directory', g:plug_home)) - endtry - endif - - if has('nvim') && !exists('*jobwait') && threads > 1 - call s:warn('echom', '[vim-plug] Update Neovim for parallel installer') - endif - - let use_job = s:nvim || s:vim8 - let python = (has('python') || has('python3')) && !use_job - let ruby = has('ruby') && !use_job && (v:version >= 703 || v:version == 702 && has('patch374')) && !(s:is_win && has('gui_running')) && threads > 1 && s:check_ruby() - - let s:update = { - \ 'start': reltime(), - \ 'all': todo, - \ 'todo': copy(todo), - \ 'errors': [], - \ 'pull': a:pull, - \ 'force': a:force, - \ 'new': {}, - \ 'threads': (python || ruby || use_job) ? min([len(todo), threads]) : 1, - \ 'bar': '', - \ 'fin': 0 - \ } - - call s:prepare(1) - call append(0, ['', '']) - normal! 2G - silent! redraw - - " Set remote name, overriding a possible user git config's clone.defaultRemoteName - let s:clone_opt = ['--origin', 'origin'] - if get(g:, 'plug_shallow', 1) - call extend(s:clone_opt, ['--depth', '1']) - if s:git_version_requirement(1, 7, 10) - call add(s:clone_opt, '--no-single-branch') - endif - endif - - if has('win32unix') || has('wsl') - call extend(s:clone_opt, ['-c', 'core.eol=lf', '-c', 'core.autocrlf=input']) - endif - - let s:submodule_opt = s:git_version_requirement(2, 8) ? ' --jobs='.threads : '' - - " Python version requirement (>= 2.7) - if python && !has('python3') && !ruby && !use_job && s:update.threads > 1 - redir => pyv - silent python import platform; print platform.python_version() - redir END - let python = s:version_requirement( - \ map(split(split(pyv)[0], '\.'), 'str2nr(v:val)'), [2, 6]) - endif - - if (python || ruby) && s:update.threads > 1 - try - let imd = &imd - if s:mac_gui - set noimd - endif - if ruby - call s:update_ruby() - else - call s:update_python() - endif - catch - let lines = getline(4, '$') - let printed = {} - silent! 4,$d _ - for line in lines - let name = s:extract_name(line, '.', '') - if empty(name) || !has_key(printed, name) - call append('$', line) - if !empty(name) - let printed[name] = 1 - if line[0] == 'x' && index(s:update.errors, name) < 0 - call add(s:update.errors, name) - end - endif - endif - endfor - finally - let &imd = imd - call s:update_finish() - endtry - else - call s:update_vim() - while use_job && sync - sleep 100m - if s:update.fin - break - endif - endwhile - endif -endfunction - -function! s:log4(name, msg) - call setline(4, printf('- %s (%s)', a:msg, a:name)) - redraw -endfunction - -function! s:update_finish() - if exists('s:git_terminal_prompt') - let $GIT_TERMINAL_PROMPT = s:git_terminal_prompt - endif - if s:switch_in() - call append(3, '- Updating ...') | 4 - for [name, spec] in items(filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && (s:update.force || s:update.pull || has_key(s:update.new, v:key))')) - let [pos, _] = s:logpos(name) - if !pos - continue - endif - let out = '' - let error = 0 - if has_key(spec, 'commit') - call s:log4(name, 'Checking out '.spec.commit) - let [out, error] = s:checkout(spec) - elseif has_key(spec, 'tag') - let tag = spec.tag - if tag =~ '\*' - let tags = s:lines(s:system('git tag --list '.plug#shellescape(tag).' --sort -version:refname 2>&1', spec.dir)) - if !v:shell_error && !empty(tags) - let tag = tags[0] - call s:log4(name, printf('Latest tag for %s -> %s', spec.tag, tag)) - call append(3, '') - endif - endif - call s:log4(name, 'Checking out '.tag) - let out = s:system('git checkout -q '.plug#shellescape(tag).' -- 2>&1', spec.dir) - let error = v:shell_error - endif - if !error && filereadable(spec.dir.'/.gitmodules') && - \ (s:update.force || has_key(s:update.new, name) || s:is_updated(spec.dir)) - call s:log4(name, 'Updating submodules. This may take a while.') - let out .= s:bang('git submodule update --init --recursive'.s:submodule_opt.' 2>&1', spec.dir) - let error = v:shell_error - endif - let msg = s:format_message(v:shell_error ? 'x': '-', name, out) - if error - call add(s:update.errors, name) - call s:regress_bar() - silent execute pos 'd _' - call append(4, msg) | 4 - elseif !empty(out) - call setline(pos, msg[0]) - endif - redraw - endfor - silent 4 d _ - try - call s:do(s:update.pull, s:update.force, filter(copy(s:update.all), 'index(s:update.errors, v:key) < 0 && has_key(v:val, "do")')) - catch - call s:warn('echom', v:exception) - call s:warn('echo', '') - return - endtry - call s:finish(s:update.pull) - call setline(1, 'Updated. Elapsed time: ' . split(reltimestr(reltime(s:update.start)))[0] . ' sec.') - call s:switch_out('normal! gg') - endif -endfunction - -function! s:job_abort() - if (!s:nvim && !s:vim8) || !exists('s:jobs') - return - endif - - for [name, j] in items(s:jobs) - if s:nvim - silent! call jobstop(j.jobid) - elseif s:vim8 - silent! call job_stop(j.jobid) - endif - if j.new - call s:rm_rf(g:plugs[name].dir) - endif - endfor - let s:jobs = {} -endfunction - -function! s:last_non_empty_line(lines) - let len = len(a:lines) - for idx in range(len) - let line = a:lines[len-idx-1] - if !empty(line) - return line - endif - endfor - return '' -endfunction - -function! s:job_out_cb(self, data) abort - let self = a:self - let data = remove(self.lines, -1) . a:data - let lines = map(split(data, "\n", 1), 'split(v:val, "\r", 1)[-1]') - call extend(self.lines, lines) - " To reduce the number of buffer updates - let self.tick = get(self, 'tick', -1) + 1 - if !self.running || self.tick % len(s:jobs) == 0 - let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-') - let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) - if len(result) - call s:log(bullet, self.name, result) - endif - endif -endfunction - -function! s:job_exit_cb(self, data) abort - let a:self.running = 0 - let a:self.error = a:data != 0 - call s:reap(a:self.name) - call s:tick() -endfunction - -function! s:job_cb(fn, job, ch, data) - if !s:plug_window_exists() " plug window closed - return s:job_abort() - endif - call call(a:fn, [a:job, a:data]) -endfunction - -function! s:nvim_cb(job_id, data, event) dict abort - return (a:event == 'stdout' || a:event == 'stderr') ? - \ s:job_cb('s:job_out_cb', self, 0, join(a:data, "\n")) : - \ s:job_cb('s:job_exit_cb', self, 0, a:data) -endfunction - -function! s:spawn(name, spec, queue, opts) - let job = { 'name': a:name, 'spec': a:spec, 'running': 1, 'error': 0, 'lines': [''], - \ 'new': get(a:opts, 'new', 0), 'queue': copy(a:queue) } - let Item = remove(job.queue, 0) - let argv = type(Item) == s:TYPE.funcref ? call(Item, [a:spec]) : Item - let s:jobs[a:name] = job - - if s:nvim - if has_key(a:opts, 'dir') - let job.cwd = a:opts.dir - endif - call extend(job, { - \ 'on_stdout': function('s:nvim_cb'), - \ 'on_stderr': function('s:nvim_cb'), - \ 'on_exit': function('s:nvim_cb'), - \ }) - let jid = s:plug_call('jobstart', argv, job) - if jid > 0 - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = [jid < 0 ? argv[0].' is not executable' : - \ 'Invalid arguments (or job table is full)'] - endif - elseif s:vim8 - let cmd = join(map(copy(argv), 'plug#shellescape(v:val, {"script": 0})')) - if has_key(a:opts, 'dir') - let cmd = s:with_cd(cmd, a:opts.dir, 0) - endif - let argv = s:is_win ? ['cmd', '/s', '/c', '"'.cmd.'"'] : ['sh', '-c', cmd] - let jid = job_start(s:is_win ? join(argv, ' ') : argv, { - \ 'out_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'err_cb': function('s:job_cb', ['s:job_out_cb', job]), - \ 'exit_cb': function('s:job_cb', ['s:job_exit_cb', job]), - \ 'err_mode': 'raw', - \ 'out_mode': 'raw' - \}) - if job_status(jid) == 'run' - let job.jobid = jid - else - let job.running = 0 - let job.error = 1 - let job.lines = ['Failed to start job'] - endif - else - let job.lines = s:lines(call('s:system', has_key(a:opts, 'dir') ? [argv, a:opts.dir] : [argv])) - let job.error = v:shell_error != 0 - let job.running = 0 - endif -endfunction - -function! s:reap(name) - let job = remove(s:jobs, a:name) - if job.error - call add(s:update.errors, a:name) - elseif get(job, 'new', 0) - let s:update.new[a:name] = 1 - endif - - let more = len(get(job, 'queue', [])) - let bullet = job.error ? 'x' : more ? (job.new ? '+' : '*') : '-' - let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) - if len(result) - call s:log(bullet, a:name, result) - endif - - if !job.error && more - let job.spec.queue = job.queue - let s:update.todo[a:name] = job.spec - else - let s:update.bar .= job.error ? 'x' : '=' - call s:bar() - endif -endfunction - -function! s:bar() - if s:switch_in() - let total = len(s:update.all) - call setline(1, (s:update.pull ? 'Updating' : 'Installing'). - \ ' plugins ('.len(s:update.bar).'/'.total.')') - call s:progress_bar(2, s:update.bar, total) - call s:switch_out() - endif -endfunction - -function! s:logpos(name) - let max = line('$') - for i in range(4, max > 4 ? max : 4) - if getline(i) =~# '^[-+x*] '.a:name.':' - for j in range(i + 1, max > 5 ? max : 5) - if getline(j) !~ '^ ' - return [i, j - 1] - endif - endfor - return [i, i] - endif - endfor - return [0, 0] -endfunction - -function! s:log(bullet, name, lines) - if s:switch_in() - let [b, e] = s:logpos(a:name) - if b > 0 - silent execute printf('%d,%d d _', b, e) - if b > winheight('.') - let b = 4 - endif - else - let b = 4 - endif - " FIXME For some reason, nomodifiable is set after :d in vim8 - setlocal modifiable - call append(b - 1, s:format_message(a:bullet, a:name, a:lines)) - call s:switch_out() - endif -endfunction - -function! s:update_vim() - let s:jobs = {} - - call s:bar() - call s:tick() -endfunction - -function! s:checkout_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'checkout', '-q', a:spec.branch, '--'] -endfunction - -function! s:merge_command(spec) - let a:spec.branch = s:git_origin_branch(a:spec) - return ['git', 'merge', '--ff-only', 'origin/'.a:spec.branch] -endfunction - -function! s:tick() - let pull = s:update.pull - let prog = s:progress_opt(s:nvim || s:vim8) -while 1 " Without TCO, Vim stack is bound to explode - if empty(s:update.todo) - if empty(s:jobs) && !s:update.fin - call s:update_finish() - let s:update.fin = 1 - endif - return - endif - - let name = keys(s:update.todo)[0] - let spec = remove(s:update.todo, name) - let queue = get(spec, 'queue', []) - let new = empty(globpath(spec.dir, '.git', 1)) - - if empty(queue) - call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...') - redraw - endif - - let has_tag = has_key(spec, 'tag') - if len(queue) - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - elseif !new - let [error, _] = s:git_validate(spec, 0) - if empty(error) - if pull - let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] - if has_tag && !empty(globpath(spec.dir, '.git/shallow')) - call extend(cmd, ['--depth', '99999999']) - endif - if !empty(prog) - call add(cmd, prog) - endif - let queue = [cmd, split('git remote set-head origin -a')] - if !has_tag && !has_key(spec, 'commit') - call extend(queue, [function('s:checkout_command'), function('s:merge_command')]) - endif - call s:spawn(name, spec, queue, { 'dir': spec.dir }) - else - let s:jobs[name] = { 'running': 0, 'lines': ['Already installed'], 'error': 0 } - endif - else - let s:jobs[name] = { 'running': 0, 'lines': s:lines(error), 'error': 1 } - endif - else - let cmd = ['git', 'clone'] - if !has_tag - call extend(cmd, s:clone_opt) - endif - if !empty(prog) - call add(cmd, prog) - endif - call s:spawn(name, spec, [extend(cmd, [spec.uri, s:trim(spec.dir)]), function('s:checkout_command'), function('s:merge_command')], { 'new': 1 }) - endif - - if !s:jobs[name].running - call s:reap(name) - endif - if len(s:jobs) >= s:update.threads - break - endif -endwhile -endfunction - -function! s:update_python() -let py_exe = has('python') ? 'python' : 'python3' -execute py_exe "<< EOF" -import datetime -import functools -import os -try: - import queue -except ImportError: - import Queue as queue -import random -import re -import shutil -import signal -import subprocess -import tempfile -import threading as thr -import time -import traceback -import vim - -G_NVIM = vim.eval("has('nvim')") == '1' -G_PULL = vim.eval('s:update.pull') == '1' -G_RETRIES = int(vim.eval('get(g:, "plug_retries", 2)')) + 1 -G_TIMEOUT = int(vim.eval('get(g:, "plug_timeout", 60)')) -G_CLONE_OPT = ' '.join(vim.eval('s:clone_opt')) -G_PROGRESS = vim.eval('s:progress_opt(1)') -G_LOG_PROB = 1.0 / int(vim.eval('s:update.threads')) -G_STOP = thr.Event() -G_IS_WIN = vim.eval('s:is_win') == '1' - -class PlugError(Exception): - def __init__(self, msg): - self.msg = msg -class CmdTimedOut(PlugError): - pass -class CmdFailed(PlugError): - pass -class InvalidURI(PlugError): - pass -class Action(object): - INSTALL, UPDATE, ERROR, DONE = ['+', '*', 'x', '-'] - -class Buffer(object): - def __init__(self, lock, num_plugs, is_pull): - self.bar = '' - self.event = 'Updating' if is_pull else 'Installing' - self.lock = lock - self.maxy = int(vim.eval('winheight(".")')) - self.num_plugs = num_plugs - - def __where(self, name): - """ Find first line with name in current buffer. Return line num. """ - found, lnum = False, 0 - matcher = re.compile('^[-+x*] {0}:'.format(name)) - for line in vim.current.buffer: - if matcher.search(line) is not None: - found = True - break - lnum += 1 - - if not found: - lnum = -1 - return lnum - - def header(self): - curbuf = vim.current.buffer - curbuf[0] = self.event + ' plugins ({0}/{1})'.format(len(self.bar), self.num_plugs) - - num_spaces = self.num_plugs - len(self.bar) - curbuf[1] = '[{0}{1}]'.format(self.bar, num_spaces * ' ') - - with self.lock: - vim.command('normal! 2G') - vim.command('redraw') - - def write(self, action, name, lines): - first, rest = lines[0], lines[1:] - msg = ['{0} {1}{2}{3}'.format(action, name, ': ' if first else '', first)] - msg.extend([' ' + line for line in rest]) - - try: - if action == Action.ERROR: - self.bar += 'x' - vim.command("call add(s:update.errors, '{0}')".format(name)) - elif action == Action.DONE: - self.bar += '=' - - curbuf = vim.current.buffer - lnum = self.__where(name) - if lnum != -1: # Found matching line num - del curbuf[lnum] - if lnum > self.maxy and action in set([Action.INSTALL, Action.UPDATE]): - lnum = 3 - else: - lnum = 3 - curbuf.append(msg, lnum) - - self.header() - except vim.error: - pass - -class Command(object): - CD = 'cd /d' if G_IS_WIN else 'cd' - - def __init__(self, cmd, cmd_dir=None, timeout=60, cb=None, clean=None): - self.cmd = cmd - if cmd_dir: - self.cmd = '{0} {1} && {2}'.format(Command.CD, cmd_dir, self.cmd) - self.timeout = timeout - self.callback = cb if cb else (lambda msg: None) - self.clean = clean if clean else (lambda: None) - self.proc = None - - @property - def alive(self): - """ Returns true only if command still running. """ - return self.proc and self.proc.poll() is None - - def execute(self, ntries=3): - """ Execute the command with ntries if CmdTimedOut. - Returns the output of the command if no Exception. - """ - attempt, finished, limit = 0, False, self.timeout - - while not finished: - try: - attempt += 1 - result = self.try_command() - finished = True - return result - except CmdTimedOut: - if attempt != ntries: - self.notify_retry() - self.timeout += limit - else: - raise - - def notify_retry(self): - """ Retry required for command, notify user. """ - for count in range(3, 0, -1): - if G_STOP.is_set(): - raise KeyboardInterrupt - msg = 'Timeout. Will retry in {0} second{1} ...'.format( - count, 's' if count != 1 else '') - self.callback([msg]) - time.sleep(1) - self.callback(['Retrying ...']) - - def try_command(self): - """ Execute a cmd & poll for callback. Returns list of output. - Raises CmdFailed -> return code for Popen isn't 0 - Raises CmdTimedOut -> command exceeded timeout without new output - """ - first_line = True - - try: - tfile = tempfile.NamedTemporaryFile(mode='w+b') - preexec_fn = not G_IS_WIN and os.setsid or None - self.proc = subprocess.Popen(self.cmd, stdout=tfile, - stderr=subprocess.STDOUT, - stdin=subprocess.PIPE, shell=True, - preexec_fn=preexec_fn) - thrd = thr.Thread(target=(lambda proc: proc.wait()), args=(self.proc,)) - thrd.start() - - thread_not_started = True - while thread_not_started: - try: - thrd.join(0.1) - thread_not_started = False - except RuntimeError: - pass - - while self.alive: - if G_STOP.is_set(): - raise KeyboardInterrupt - - if first_line or random.random() < G_LOG_PROB: - first_line = False - line = '' if G_IS_WIN else nonblock_read(tfile.name) - if line: - self.callback([line]) - - time_diff = time.time() - os.path.getmtime(tfile.name) - if time_diff > self.timeout: - raise CmdTimedOut(['Timeout!']) - - thrd.join(0.5) - - tfile.seek(0) - result = [line.decode('utf-8', 'replace').rstrip() for line in tfile] - - if self.proc.returncode != 0: - raise CmdFailed([''] + result) - - return result - except: - self.terminate() - raise - - def terminate(self): - """ Terminate process and cleanup. """ - if self.alive: - if G_IS_WIN: - os.kill(self.proc.pid, signal.SIGINT) - else: - os.killpg(self.proc.pid, signal.SIGTERM) - self.clean() - -class Plugin(object): - def __init__(self, name, args, buf_q, lock): - self.name = name - self.args = args - self.buf_q = buf_q - self.lock = lock - self.tag = args.get('tag', 0) - - def manage(self): - try: - if os.path.exists(self.args['dir']): - self.update() - else: - self.install() - with self.lock: - thread_vim_command("let s:update.new['{0}'] = 1".format(self.name)) - except PlugError as exc: - self.write(Action.ERROR, self.name, exc.msg) - except KeyboardInterrupt: - G_STOP.set() - self.write(Action.ERROR, self.name, ['Interrupted!']) - except: - # Any exception except those above print stack trace - msg = 'Trace:\n{0}'.format(traceback.format_exc().rstrip()) - self.write(Action.ERROR, self.name, msg.split('\n')) - raise - - def install(self): - target = self.args['dir'] - if target[-1] == '\\': - target = target[0:-1] - - def clean(target): - def _clean(): - try: - shutil.rmtree(target) - except OSError: - pass - return _clean - - self.write(Action.INSTALL, self.name, ['Installing ...']) - callback = functools.partial(self.write, Action.INSTALL, self.name) - cmd = 'git clone {0} {1} {2} {3} 2>&1'.format( - '' if self.tag else G_CLONE_OPT, G_PROGRESS, self.args['uri'], - esc(target)) - com = Command(cmd, None, G_TIMEOUT, callback, clean(target)) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - - def repo_uri(self): - cmd = 'git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url' - command = Command(cmd, self.args['dir'], G_TIMEOUT,) - result = command.execute(G_RETRIES) - return result[-1] - - def update(self): - actual_uri = self.repo_uri() - expect_uri = self.args['uri'] - regex = re.compile(r'^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$') - ma = regex.match(actual_uri) - mb = regex.match(expect_uri) - if ma is None or mb is None or ma.groups() != mb.groups(): - msg = ['', - 'Invalid URI: {0}'.format(actual_uri), - 'Expected {0}'.format(expect_uri), - 'PlugClean required.'] - raise InvalidURI(msg) - - if G_PULL: - self.write(Action.UPDATE, self.name, ['Updating ...']) - callback = functools.partial(self.write, Action.UPDATE, self.name) - fetch_opt = '--depth 99999999' if self.tag and os.path.isfile(os.path.join(self.args['dir'], '.git/shallow')) else '' - cmd = 'git fetch {0} {1} 2>&1'.format(fetch_opt, G_PROGRESS) - com = Command(cmd, self.args['dir'], G_TIMEOUT, callback) - result = com.execute(G_RETRIES) - self.write(Action.DONE, self.name, result[-1:]) - else: - self.write(Action.DONE, self.name, ['Already installed']) - - def write(self, action, name, msg): - self.buf_q.put((action, name, msg)) - -class PlugThread(thr.Thread): - def __init__(self, tname, args): - super(PlugThread, self).__init__() - self.tname = tname - self.args = args - - def run(self): - thr.current_thread().name = self.tname - buf_q, work_q, lock = self.args - - try: - while not G_STOP.is_set(): - name, args = work_q.get_nowait() - plug = Plugin(name, args, buf_q, lock) - plug.manage() - work_q.task_done() - except queue.Empty: - pass - -class RefreshThread(thr.Thread): - def __init__(self, lock): - super(RefreshThread, self).__init__() - self.lock = lock - self.running = True - - def run(self): - while self.running: - with self.lock: - thread_vim_command('noautocmd normal! a') - time.sleep(0.33) - - def stop(self): - self.running = False - -if G_NVIM: - def thread_vim_command(cmd): - vim.session.threadsafe_call(lambda: vim.command(cmd)) -else: - def thread_vim_command(cmd): - vim.command(cmd) - -def esc(name): - return '"' + name.replace('"', '\"') + '"' - -def nonblock_read(fname): - """ Read a file with nonblock flag. Return the last line. """ - fread = os.open(fname, os.O_RDONLY | os.O_NONBLOCK) - buf = os.read(fread, 100000).decode('utf-8', 'replace') - os.close(fread) - - line = buf.rstrip('\r\n') - left = max(line.rfind('\r'), line.rfind('\n')) - if left != -1: - left += 1 - line = line[left:] - - return line - -def main(): - thr.current_thread().name = 'main' - nthreads = int(vim.eval('s:update.threads')) - plugs = vim.eval('s:update.todo') - mac_gui = vim.eval('s:mac_gui') == '1' - - lock = thr.Lock() - buf = Buffer(lock, len(plugs), G_PULL) - buf_q, work_q = queue.Queue(), queue.Queue() - for work in plugs.items(): - work_q.put(work) - - start_cnt = thr.active_count() - for num in range(nthreads): - tname = 'PlugT-{0:02}'.format(num) - thread = PlugThread(tname, (buf_q, work_q, lock)) - thread.start() - if mac_gui: - rthread = RefreshThread(lock) - rthread.start() - - while not buf_q.empty() or thr.active_count() != start_cnt: - try: - action, name, msg = buf_q.get(True, 0.25) - buf.write(action, name, ['OK'] if not msg else msg) - buf_q.task_done() - except queue.Empty: - pass - except KeyboardInterrupt: - G_STOP.set() - - if mac_gui: - rthread.stop() - rthread.join() - -main() -EOF -endfunction - -function! s:update_ruby() - ruby << EOF - module PlugStream - SEP = ["\r", "\n", nil] - def get_line - buffer = '' - loop do - char = readchar rescue return - if SEP.include? char.chr - buffer << $/ - break - else - buffer << char - end - end - buffer - end - end unless defined?(PlugStream) - - def esc arg - %["#{arg.gsub('"', '\"')}"] - end - - def killall pid - pids = [pid] - if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM - pids.each { |pid| Process.kill 'INT', pid.to_i rescue nil } - else - unless `which pgrep 2> /dev/null`.empty? - children = pids - until children.empty? - children = children.map { |pid| - `pgrep -P #{pid}`.lines.map { |l| l.chomp } - }.flatten - pids += children - end - end - pids.each { |pid| Process.kill 'TERM', pid.to_i rescue nil } - end - end - - def compare_git_uri a, b - regex = %r{^(?:\w+://)?(?:[^@/]*@)?([^:/]*(?::[0-9]*)?)[:/](.*?)(?:\.git)?/?$} - regex.match(a).to_a.drop(1) == regex.match(b).to_a.drop(1) - end - - require 'thread' - require 'fileutils' - require 'timeout' - running = true - iswin = VIM::evaluate('s:is_win').to_i == 1 - pull = VIM::evaluate('s:update.pull').to_i == 1 - base = VIM::evaluate('g:plug_home') - all = VIM::evaluate('s:update.todo') - limit = VIM::evaluate('get(g:, "plug_timeout", 60)') - tries = VIM::evaluate('get(g:, "plug_retries", 2)') + 1 - nthr = VIM::evaluate('s:update.threads').to_i - maxy = VIM::evaluate('winheight(".")').to_i - vim7 = VIM::evaluate('v:version').to_i <= 703 && RUBY_PLATFORM =~ /darwin/ - cd = iswin ? 'cd /d' : 'cd' - tot = VIM::evaluate('len(s:update.todo)') || 0 - bar = '' - skip = 'Already installed' - mtx = Mutex.new - take1 = proc { mtx.synchronize { running && all.shift } } - logh = proc { - cnt = bar.length - $curbuf[1] = "#{pull ? 'Updating' : 'Installing'} plugins (#{cnt}/#{tot})" - $curbuf[2] = '[' + bar.ljust(tot) + ']' - VIM::command('normal! 2G') - VIM::command('redraw') - } - where = proc { |name| (1..($curbuf.length)).find { |l| $curbuf[l] =~ /^[-+x*] #{name}:/ } } - log = proc { |name, result, type| - mtx.synchronize do - ing = ![true, false].include?(type) - bar += type ? '=' : 'x' unless ing - b = case type - when :install then '+' when :update then '*' - when true, nil then '-' else - VIM::command("call add(s:update.errors, '#{name}')") - 'x' - end - result = - if type || type.nil? - ["#{b} #{name}: #{result.lines.to_a.last || 'OK'}"] - elsif result =~ /^Interrupted|^Timeout/ - ["#{b} #{name}: #{result}"] - else - ["#{b} #{name}"] + result.lines.map { |l| " " << l } - end - if lnum = where.call(name) - $curbuf.delete lnum - lnum = 4 if ing && lnum > maxy - end - result.each_with_index do |line, offset| - $curbuf.append((lnum || 4) - 1 + offset, line.gsub(/\e\[./, '').chomp) - end - logh.call - end - } - bt = proc { |cmd, name, type, cleanup| - tried = timeout = 0 - begin - tried += 1 - timeout += limit - fd = nil - data = '' - if iswin - Timeout::timeout(timeout) do - tmp = VIM::evaluate('tempname()') - system("(#{cmd}) > #{tmp}") - data = File.read(tmp).chomp - File.unlink tmp rescue nil - end - else - fd = IO.popen(cmd).extend(PlugStream) - first_line = true - log_prob = 1.0 / nthr - while line = Timeout::timeout(timeout) { fd.get_line } - data << line - log.call name, line.chomp, type if name && (first_line || rand < log_prob) - first_line = false - end - fd.close - end - [$? == 0, data.chomp] - rescue Timeout::Error, Interrupt => e - if fd && !fd.closed? - killall fd.pid - fd.close - end - cleanup.call if cleanup - if e.is_a?(Timeout::Error) && tried < tries - 3.downto(1) do |countdown| - s = countdown > 1 ? 's' : '' - log.call name, "Timeout. Will retry in #{countdown} second#{s} ...", type - sleep 1 - end - log.call name, 'Retrying ...', type - retry - end - [false, e.is_a?(Interrupt) ? "Interrupted!" : "Timeout!"] - end - } - main = Thread.current - threads = [] - watcher = Thread.new { - if vim7 - while VIM::evaluate('getchar(1)') - sleep 0.1 - end - else - require 'io/console' # >= Ruby 1.9 - nil until IO.console.getch == 3.chr - end - mtx.synchronize do - running = false - threads.each { |t| t.raise Interrupt } unless vim7 - end - threads.each { |t| t.join rescue nil } - main.kill - } - refresh = Thread.new { - while true - mtx.synchronize do - break unless running - VIM::command('noautocmd normal! a') - end - sleep 0.2 - end - } if VIM::evaluate('s:mac_gui') == 1 - - clone_opt = VIM::evaluate('s:clone_opt').join(' ') - progress = VIM::evaluate('s:progress_opt(1)') - nthr.times do - mtx.synchronize do - threads << Thread.new { - while pair = take1.call - name = pair.first - dir, uri, tag = pair.last.values_at *%w[dir uri tag] - exists = File.directory? dir - ok, result = - if exists - chdir = "#{cd} #{iswin ? dir : esc(dir)}" - ret, data = bt.call "#{chdir} && git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url", nil, nil, nil - current_uri = data.lines.to_a.last - if !ret - if data =~ /^Interrupted|^Timeout/ - [false, data] - else - [false, [data.chomp, "PlugClean required."].join($/)] - end - elsif !compare_git_uri(current_uri, uri) - [false, ["Invalid URI: #{current_uri}", - "Expected: #{uri}", - "PlugClean required."].join($/)] - else - if pull - log.call name, 'Updating ...', :update - fetch_opt = (tag && File.exist?(File.join(dir, '.git/shallow'))) ? '--depth 99999999' : '' - bt.call "#{chdir} && git fetch #{fetch_opt} #{progress} 2>&1", name, :update, nil - else - [true, skip] - end - end - else - d = esc dir.sub(%r{[\\/]+$}, '') - log.call name, 'Installing ...', :install - bt.call "git clone #{clone_opt unless tag} #{progress} #{uri} #{d} 2>&1", name, :install, proc { - FileUtils.rm_rf dir - } - end - mtx.synchronize { VIM::command("let s:update.new['#{name}'] = 1") } if !exists && ok - log.call name, result, ok - end - } if running - end - end - threads.each { |t| t.join rescue nil } - logh.call - refresh.kill if refresh - watcher.kill -EOF -endfunction - -function! s:shellesc_cmd(arg, script) - let escaped = substitute('"'.a:arg.'"', '[&|<>()@^!"]', '^&', 'g') - return substitute(escaped, '%', (a:script ? '%' : '^') . '&', 'g') -endfunction - -function! s:shellesc_ps1(arg) - return "'".substitute(escape(a:arg, '\"'), "'", "''", 'g')."'" -endfunction - -function! s:shellesc_sh(arg) - return "'".substitute(a:arg, "'", "'\\\\''", 'g')."'" -endfunction - -" Escape the shell argument based on the shell. -" Vim and Neovim's shellescape() are insufficient. -" 1. shellslash determines whether to use single/double quotes. -" Double-quote escaping is fragile for cmd.exe. -" 2. It does not work for powershell. -" 3. It does not work for *sh shells if the command is executed -" via cmd.exe (ie. cmd.exe /c sh -c command command_args) -" 4. It does not support batchfile syntax. -" -" Accepts an optional dictionary with the following keys: -" - shell: same as Vim/Neovim 'shell' option. -" If unset, fallback to 'cmd.exe' on Windows or 'sh'. -" - script: If truthy and shell is cmd.exe, escape for batchfile syntax. -function! plug#shellescape(arg, ...) - if a:arg =~# '^[A-Za-z0-9_/:.-]\+$' - return a:arg - endif - let opts = a:0 > 0 && type(a:1) == s:TYPE.dict ? a:1 : {} - let shell = get(opts, 'shell', s:is_win ? 'cmd.exe' : 'sh') - let script = get(opts, 'script', 1) - if shell =~# 'cmd\(\.exe\)\?$' - return s:shellesc_cmd(a:arg, script) - elseif s:is_powershell(shell) - return s:shellesc_ps1(a:arg) - endif - return s:shellesc_sh(a:arg) -endfunction - -function! s:glob_dir(path) - return map(filter(s:glob(a:path, '**'), 'isdirectory(v:val)'), 's:dirpath(v:val)') -endfunction - -function! s:progress_bar(line, bar, total) - call setline(a:line, '[' . s:lpad(a:bar, a:total) . ']') -endfunction - -function! s:compare_git_uri(a, b) - " See `git help clone' - " https:// [user@] github.com[:port] / junegunn/vim-plug [.git] - " [git@] github.com[:port] : junegunn/vim-plug [.git] - " file:// / junegunn/vim-plug [/] - " / junegunn/vim-plug [/] - let pat = '^\%(\w\+://\)\='.'\%([^@/]*@\)\='.'\([^:/]*\%(:[0-9]*\)\=\)'.'[:/]'.'\(.\{-}\)'.'\%(\.git\)\=/\?$' - let ma = matchlist(a:a, pat) - let mb = matchlist(a:b, pat) - return ma[1:2] ==# mb[1:2] -endfunction - -function! s:format_message(bullet, name, message) - if a:bullet != 'x' - return [printf('%s %s: %s', a:bullet, a:name, s:lastline(a:message))] - else - let lines = map(s:lines(a:message), '" ".v:val') - return extend([printf('x %s:', a:name)], lines) - endif -endfunction - -function! s:with_cd(cmd, dir, ...) - let script = a:0 > 0 ? a:1 : 1 - return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) -endfunction - -function! s:system(cmd, ...) - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - if type(a:cmd) == s:TYPE.list - " Neovim's system() supports list argument to bypass the shell - " but it cannot set the working directory for the command. - " Assume that the command does not rely on the shell. - if has('nvim') && a:0 == 0 - return system(a:cmd) - endif - let cmd = join(map(copy(a:cmd), 'plug#shellescape(v:val, {"shell": &shell, "script": 0})')) - if s:is_powershell(&shell) - let cmd = '& ' . cmd - endif - else - let cmd = a:cmd - endif - if a:0 > 0 - let cmd = s:with_cd(cmd, a:1, type(a:cmd) != s:TYPE.list) - endif - if s:is_win && type(a:cmd) != s:TYPE.list - let [batchfile, cmd] = s:batchfile(cmd) - endif - return system(cmd) - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry -endfunction - -function! s:system_chomp(...) - let ret = call('s:system', a:000) - return v:shell_error ? '' : substitute(ret, '\n$', '', '') -endfunction - -function! s:git_validate(spec, check_branch) - let err = '' - if isdirectory(a:spec.dir) - let result = [s:git_local_branch(a:spec.dir), s:git_origin_url(a:spec.dir)] - let remote = result[-1] - if empty(remote) - let err = join([remote, 'PlugClean required.'], "\n") - elseif !s:compare_git_uri(remote, a:spec.uri) - let err = join(['Invalid URI: '.remote, - \ 'Expected: '.a:spec.uri, - \ 'PlugClean required.'], "\n") - elseif a:check_branch && has_key(a:spec, 'commit') - let sha = s:git_revision(a:spec.dir) - if empty(sha) - let err = join(add(result, 'PlugClean required.'), "\n") - elseif !s:hash_match(sha, a:spec.commit) - let err = join([printf('Invalid HEAD (expected: %s, actual: %s)', - \ a:spec.commit[:6], sha[:6]), - \ 'PlugUpdate required.'], "\n") - endif - elseif a:check_branch - let current_branch = result[0] - " Check tag - let origin_branch = s:git_origin_branch(a:spec) - if has_key(a:spec, 'tag') - let tag = s:system_chomp('git describe --exact-match --tags HEAD 2>&1', a:spec.dir) - if a:spec.tag !=# tag && a:spec.tag !~ '\*' - let err = printf('Invalid tag: %s (expected: %s). Try PlugUpdate.', - \ (empty(tag) ? 'N/A' : tag), a:spec.tag) - endif - " Check branch - elseif origin_branch !=# current_branch - let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.', - \ current_branch, origin_branch) - endif - if empty(err) - let ahead_behind = split(s:lastline(s:system([ - \ 'git', 'rev-list', '--count', '--left-right', - \ printf('HEAD...origin/%s', origin_branch) - \ ], a:spec.dir)), '\t') - if v:shell_error || len(ahead_behind) != 2 - let err = "Failed to compare with the origin. The default branch might have changed.\nPlugClean required." - else - let [ahead, behind] = ahead_behind - if ahead && behind - " Only mention PlugClean if diverged, otherwise it's likely to be - " pushable (and probably not that messed up). - let err = printf( - \ "Diverged from origin/%s (%d commit(s) ahead and %d commit(s) behind!\n" - \ .'Backup local changes and run PlugClean and PlugUpdate to reinstall it.', origin_branch, ahead, behind) - elseif ahead - let err = printf("Ahead of origin/%s by %d commit(s).\n" - \ .'Cannot update until local changes are pushed.', - \ origin_branch, ahead) - endif - endif - endif - endif - else - let err = 'Not found' - endif - return [err, err =~# 'PlugClean'] -endfunction - -function! s:rm_rf(dir) - if isdirectory(a:dir) - return s:system(s:is_win - \ ? 'rmdir /S /Q '.plug#shellescape(a:dir) - \ : ['rm', '-rf', a:dir]) - endif -endfunction - -function! s:clean(force) - call s:prepare() - call append(0, 'Searching for invalid plugins in '.g:plug_home) - call append(1, '') - - " List of valid directories - let dirs = [] - let errs = {} - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - if !s:is_managed(name) - call add(dirs, spec.dir) - else - let [err, clean] = s:git_validate(spec, 1) - if clean - let errs[spec.dir] = s:lines(err)[0] - else - call add(dirs, spec.dir) - endif - endif - let cnt += 1 - call s:progress_bar(2, repeat('=', cnt), total) - normal! 2G - redraw - endfor - - let allowed = {} - for dir in dirs - let allowed[s:dirpath(s:plug_fnamemodify(dir, ':h:h'))] = 1 - let allowed[dir] = 1 - for child in s:glob_dir(dir) - let allowed[child] = 1 - endfor - endfor - - let todo = [] - let found = sort(s:glob_dir(g:plug_home)) - while !empty(found) - let f = remove(found, 0) - if !has_key(allowed, f) && isdirectory(f) - call add(todo, f) - call append(line('$'), '- ' . f) - if has_key(errs, f) - call append(line('$'), ' ' . errs[f]) - endif - let found = filter(found, 'stridx(v:val, f) != 0') - end - endwhile - - 4 - redraw - if empty(todo) - call append(line('$'), 'Already clean.') - else - let s:clean_count = 0 - call append(3, ['Directories to delete:', '']) - redraw! - if a:force || s:ask_no_interrupt('Delete all directories?') - call s:delete([6, line('$')], 1) - else - call setline(4, 'Cancelled.') - nnoremap d :set opfunc=delete_opg@ - nmap dd d_ - xnoremap d :call delete_op(visualmode(), 1) - echo 'Delete the lines (d{motion}) to delete the corresponding directories' - endif - endif - 4 - setlocal nomodifiable -endfunction - -function! s:delete_op(type, ...) - call s:delete(a:0 ? [line("'<"), line("'>")] : [line("'["), line("']")], 0) -endfunction - -function! s:delete(range, force) - let [l1, l2] = a:range - let force = a:force - let err_count = 0 - while l1 <= l2 - let line = getline(l1) - if line =~ '^- ' && isdirectory(line[2:]) - execute l1 - redraw! - let answer = force ? 1 : s:ask('Delete '.line[2:].'?', 1) - let force = force || answer > 1 - if answer - let err = s:rm_rf(line[2:]) - setlocal modifiable - if empty(err) - call setline(l1, '~'.line[1:]) - let s:clean_count += 1 - else - delete _ - call append(l1 - 1, s:format_message('x', line[1:], err)) - let l2 += len(s:lines(err)) - let err_count += 1 - endif - let msg = printf('Removed %d directories.', s:clean_count) - if err_count > 0 - let msg .= printf(' Failed to remove %d directories.', err_count) - endif - call setline(4, msg) - setlocal nomodifiable - endif - endif - let l1 += 1 - endwhile -endfunction - -function! s:upgrade() - echo 'Downloading the latest version of vim-plug' - redraw - let tmp = s:plug_tempname() - let new = tmp . '/plug.vim' - - try - let out = s:system(['git', 'clone', '--depth', '1', s:plug_src, tmp]) - if v:shell_error - return s:err('Error upgrading vim-plug: '. out) - endif - - if readfile(s:me) ==# readfile(new) - echo 'vim-plug is already up-to-date' - return 0 - else - call rename(s:me, s:me . '.old') - call rename(new, s:me) - unlet g:loaded_plug - echo 'vim-plug has been upgraded' - return 1 - endif - finally - silent! call s:rm_rf(tmp) - endtry -endfunction - -function! s:upgrade_specs() - for spec in values(g:plugs) - let spec.frozen = get(spec, 'frozen', 0) - endfor -endfunction - -function! s:status() - call s:prepare() - call append(0, 'Checking plugins') - call append(1, '') - - let ecnt = 0 - let unloaded = 0 - let [cnt, total] = [0, len(g:plugs)] - for [name, spec] in items(g:plugs) - let is_dir = isdirectory(spec.dir) - if has_key(spec, 'uri') - if is_dir - let [err, _] = s:git_validate(spec, 1) - let [valid, msg] = [empty(err), empty(err) ? 'OK' : err] - else - let [valid, msg] = [0, 'Not found. Try PlugInstall.'] - endif - else - if is_dir - let [valid, msg] = [1, 'OK'] - else - let [valid, msg] = [0, 'Not found.'] - endif - endif - let cnt += 1 - let ecnt += !valid - " `s:loaded` entry can be missing if PlugUpgraded - if is_dir && get(s:loaded, name, -1) == 0 - let unloaded = 1 - let msg .= ' (not loaded)' - endif - call s:progress_bar(2, repeat('=', cnt), total) - call append(3, s:format_message(valid ? '-' : 'x', name, msg)) - normal! 2G - redraw - endfor - call setline(1, 'Finished. '.ecnt.' error(s).') - normal! gg - setlocal nomodifiable - if unloaded - echo "Press 'L' on each line to load plugin, or 'U' to update" - nnoremap L :call status_load(line('.')) - xnoremap L :call status_load(line('.')) - end -endfunction - -function! s:extract_name(str, prefix, suffix) - return matchstr(a:str, '^'.a:prefix.' \zs[^:]\+\ze:.*'.a:suffix.'$') -endfunction - -function! s:status_load(lnum) - let line = getline(a:lnum) - let name = s:extract_name(line, '-', '(not loaded)') - if !empty(name) - call plug#load(name) - setlocal modifiable - call setline(a:lnum, substitute(line, ' (not loaded)$', '', '')) - setlocal nomodifiable - endif -endfunction - -function! s:status_update() range - let lines = getline(a:firstline, a:lastline) - let names = filter(map(lines, 's:extract_name(v:val, "[x-]", "")'), '!empty(v:val)') - if !empty(names) - echo - execute 'PlugUpdate' join(names) - endif -endfunction - -function! s:is_preview_window_open() - silent! wincmd P - if &previewwindow - wincmd p - return 1 - endif -endfunction - -function! s:find_name(lnum) - for lnum in reverse(range(1, a:lnum)) - let line = getline(lnum) - if empty(line) - return '' - endif - let name = s:extract_name(line, '-', '') - if !empty(name) - return name - endif - endfor - return '' -endfunction - -function! s:preview_commit() - if b:plug_preview < 0 - let b:plug_preview = !s:is_preview_window_open() - endif - - let sha = matchstr(getline('.'), '^ \X*\zs[0-9a-f]\{7,9}') - if empty(sha) - let name = matchstr(getline('.'), '^- \zs[^:]*\ze:$') - if empty(name) - return - endif - let title = 'HEAD@{1}..' - let command = 'git diff --no-color HEAD@{1}' - else - let title = sha - let command = 'git show --no-color --pretty=medium '.sha - let name = s:find_name(line('.')) - endif - - if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir) - return - endif - - if !s:is_preview_window_open() - execute get(g:, 'plug_pwindow', 'vertical rightbelow new') - execute 'e' title - else - execute 'pedit' title - wincmd P - endif - setlocal previewwindow filetype=git buftype=nofile bufhidden=wipe nobuflisted modifiable - let batchfile = '' - try - let [sh, shellcmdflag, shrd] = s:chsh(1) - let cmd = 'cd '.plug#shellescape(g:plugs[name].dir).' && '.command - if s:is_win - let [batchfile, cmd] = s:batchfile(cmd) - endif - execute 'silent %!' cmd - finally - let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd] - if s:is_win && filereadable(batchfile) - call delete(batchfile) - endif - endtry - setlocal nomodifiable - nnoremap q :q - wincmd p -endfunction - -function! s:section(flags) - call search('\(^[x-] \)\@<=[^:]\+:', a:flags) -endfunction - -function! s:format_git_log(line) - let indent = ' ' - let tokens = split(a:line, nr2char(1)) - if len(tokens) != 5 - return indent.substitute(a:line, '\s*$', '', '') - endif - let [graph, sha, refs, subject, date] = tokens - let tag = matchstr(refs, 'tag: [^,)]\+') - let tag = empty(tag) ? ' ' : ' ('.tag.') ' - return printf('%s%s%s%s%s (%s)', indent, graph, sha, tag, subject, date) -endfunction - -function! s:append_ul(lnum, text) - call append(a:lnum, ['', a:text, repeat('-', len(a:text))]) -endfunction - -function! s:diff() - call s:prepare() - call append(0, ['Collecting changes ...', '']) - let cnts = [0, 0] - let bar = '' - let total = filter(copy(g:plugs), 's:is_managed(v:key) && isdirectory(v:val.dir)') - call s:progress_bar(2, bar, len(total)) - for origin in [1, 0] - let plugs = reverse(sort(items(filter(copy(total), (origin ? '' : '!').'(has_key(v:val, "commit") || has_key(v:val, "tag"))')))) - if empty(plugs) - continue - endif - call s:append_ul(2, origin ? 'Pending updates:' : 'Last update:') - for [k, v] in plugs - let branch = s:git_origin_branch(v) - if len(branch) - let range = origin ? '..origin/'.branch : 'HEAD@{1}..' - let cmd = ['git', 'log', '--graph', '--color=never'] - if s:git_version_requirement(2, 10, 0) - call add(cmd, '--no-show-signature') - endif - call extend(cmd, ['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range]) - if has_key(v, 'rtp') - call extend(cmd, ['--', v.rtp]) - endif - let diff = s:system_chomp(cmd, v.dir) - if !empty(diff) - let ref = has_key(v, 'tag') ? (' (tag: '.v.tag.')') : has_key(v, 'commit') ? (' '.v.commit) : '' - call append(5, extend(['', '- '.k.':'.ref], map(s:lines(diff), 's:format_git_log(v:val)'))) - let cnts[origin] += 1 - endif - endif - let bar .= '=' - call s:progress_bar(2, bar, len(total)) - normal! 2G - redraw - endfor - if !cnts[origin] - call append(5, ['', 'N/A']) - endif - endfor - call setline(1, printf('%d plugin(s) updated.', cnts[0]) - \ . (cnts[1] ? printf(' %d plugin(s) have pending updates.', cnts[1]) : '')) - - if cnts[0] || cnts[1] - nnoremap (plug-preview) :silent! call preview_commit() - if empty(maparg("\", 'n')) - nmap (plug-preview) - endif - if empty(maparg('o', 'n')) - nmap o (plug-preview) - endif - endif - if cnts[0] - nnoremap X :call revert() - echo "Press 'X' on each block to revert the update" - endif - normal! gg - setlocal nomodifiable -endfunction - -function! s:revert() - if search('^Pending updates', 'bnW') - return - endif - - let name = s:find_name(line('.')) - if empty(name) || !has_key(g:plugs, name) || - \ input(printf('Revert the update of %s? (y/N) ', name)) !~? '^y' - return - endif - - call s:system('git reset --hard HEAD@{1} && git checkout '.plug#shellescape(g:plugs[name].branch).' --', g:plugs[name].dir) - setlocal modifiable - normal! "_dap - setlocal nomodifiable - echo 'Reverted' -endfunction - -function! s:snapshot(force, ...) abort - call s:prepare() - setf vim - call append(0, ['" Generated by vim-plug', - \ '" '.strftime("%c"), - \ '" :source this file in vim to restore the snapshot', - \ '" or execute: vim -S snapshot.vim', - \ '', '', 'PlugUpdate!']) - 1 - let anchor = line('$') - 3 - let names = sort(keys(filter(copy(g:plugs), - \'has_key(v:val, "uri") && isdirectory(v:val.dir)'))) - for name in reverse(names) - let sha = has_key(g:plugs[name], 'commit') ? g:plugs[name].commit : s:git_revision(g:plugs[name].dir) - if !empty(sha) - call append(anchor, printf("silent! let g:plugs['%s'].commit = '%s'", name, sha)) - redraw - endif - endfor - - if a:0 > 0 - let fn = s:plug_expand(a:1) - if filereadable(fn) && !(a:force || s:ask(a:1.' already exists. Overwrite?')) - return - endif - call writefile(getline(1, '$'), fn) - echo 'Saved as '.a:1 - silent execute 'e' s:esc(fn) - setf vim - endif -endfunction - -function! s:split_rtp() - return split(&rtp, '\\\@ key +" to avoid overwriting default bindings. First key after +" must be a first letter of the called entity. +" For example, keybinding that calls *snippets* should starts with +" + s (Snippets)" + +" Snippets +let g:UltiSnipsExpandTrigger="s" +let g:UltiSnipsJumpForwardTrigger="sn" +let g:UltiSnipsJumpBackwardTrigger="sb" diff --git a/.config/vim/lsp.vim b/.config/vim/lsp.vim index 765b280..0bd4cde 100644 --- a/.config/vim/lsp.vim +++ b/.config/vim/lsp.vim @@ -1,46 +1,23 @@ -" Register LSP servers +vim9script -"" Register clangd C and C++ lanuage server. -if executable('clangd') - augroup lsp_clangd - autocmd! - autocmd User lsp_setup call lsp#register_server({ - \ 'name': 'clangd', - \ 'cmd': {server_info->['clangd']}, - \ 'whitelist': ['c', 'cpp', 'cxx', 'objc', 'objcpp'], - \ }) - autocmd FileType c setlocal omnifunc=lsp#complete - autocmd FileType cpp setlocal omnifunc=lsp#complete - autocmd FileType objc setlocal omnifunc=lsp#complete - autocmd FileType objcpp setlocal omnifunc=lsp#complete - augroup end -endif - -function! s:on_lsp_buffer_enabled() abort - setlocal omnifunc=lsp#complete - setlocal signcolumn=yes - if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif - nmap gd (lsp-definition) - nmap gs (lsp-document-symbol-search) - nmap gS (lsp-workspace-symbol-search) - nmap gr (lsp-references) - nmap gi (lsp-implementation) - nmap gt (lsp-type-definition) - nmap rn (lsp-rename) - nmap [g (lsp-previous-diagnostic) - nmap ]g (lsp-next-diagnostic) - nmap K (lsp-hover) - nnoremap lsp#scroll(+4) - nnoremap lsp#scroll(-4) - - let g:lsp_format_sync_timeout = 1000 - autocmd! BufWritePre *.rs,*.go call execute('LspDocumentFormatSync') +packadd lsp - " refer to doc to add more commands -endfunction +# C and C++ +if executable("clangd") + g:LspAddServer([{ + name: 'clangd', + filetype: ['c', 'cpp'], + path: 'clangd', + args: ['--background-index', '--clang-tidy'], + }]) +endif -augroup lsp_install - au! - " call s:on_lsp_buffer_enabled only for languages that has the server registered. - autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() -augroup END +# Javascript/Typescript +if executable("typescript-language-server") + g:LspAddServer([{ + name: 'tsserver', + filetype: ['javascript', 'typescript'], + path: 'typescript-language-server', + args: ['--stdio'], + }]) +endif diff --git a/.config/vim/netrw.vim b/.config/vim/netrw.vim new file mode 100644 index 0000000..13d9257 --- /dev/null +++ b/.config/vim/netrw.vim @@ -0,0 +1,5 @@ +" let g:netrw_keepdir=0 +let g:netrw_altv=1 " split window to the right +let g:netrw_liststyle=3 " tree style listing +let g:netrw_list_hide=netrw_gitignore#Hide() +let g:netrw_winsize = 30 diff --git a/.config/vim/plugins.vim b/.config/vim/plugins.vim deleted file mode 100644 index e044220..0000000 --- a/.config/vim/plugins.vim +++ /dev/null @@ -1,11 +0,0 @@ -vim9script - -plug#begin() - -Plug 'SirVer/ultisnips' -Plug 'honza/vim-snippets' -Plug 'editorconfig/editorconfig-vim' -Plug 'prabirshrestha/vim-lsp' -Plug 'rhysd/vim-clang-format' - -plug#end() diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a760429 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,42 @@ +[submodule ".vim/pack/editor/opt/rainbow"] + path = .vim/pack/editor/opt/rainbow + url = https://github.com/luochen1990/rainbow +[submodule ".vim/pack/web/opt/vim-prettier"] + path = .vim/pack/web/opt/vim-prettier + url = https://github.com/prettier/vim-prettier +[submodule ".vim/pack/web/opt/vim-pug"] + path = .vim/pack/web/opt/vim-pug + url = https://github.com/digitaltoad/vim-pug +[submodule ".vim/pack/lsp/start/lsp"] + path = .vim/pack/lsp/start/lsp + url = https://github.com/yegappan/lsp +[submodule ".vim/pack/files/opt/SchemaStore.vim"] + path = .vim/pack/files/opt/SchemaStore.vim + url = https://github.com/00dani/SchemaStore.vim +[submodule ".vim/pack/files/opt/vim-cmake"] + path = .vim/pack/files/opt/vim-cmake + url = https://github.com/cdelledonne/vim-cmake.git +[submodule ".vim/pack/files/start/vim-gnupg"] + path = .vim/pack/files/start/vim-gnupg + url = https://github.com/jamessan/vim-gnupg.git +[submodule ".vim/pack/files/start/vim-markdown"] + path = .vim/pack/files/start/vim-markdown + url = https://github.com/preservim/vim-markdown.git +[submodule ".vim/pack/editor/start/editorconfig-vim"] + path = .vim/pack/editor/start/editorconfig-vim + url = https://github.com/editorconfig/editorconfig-vim.git +[submodule ".vim/pack/editor/start/papercolor-theme"] + path = .vim/pack/editor/start/papercolor-theme + url = https://github.com/NLKNguyen/papercolor-theme.git +[submodule ".vim/pack/editor/start/ultisnips"] + path = .vim/pack/editor/start/ultisnips + url = https://github.com/SirVer/ultisnips +[submodule ".vim/pack/editor/start/vim-gitgutter"] + path = .vim/pack/editor/start/vim-gitgutter + url = https://github.com/airblade/vim-gitgutter.git +[submodule ".vim/pack/editor/start/vim-healthcheck"] + path = .vim/pack/editor/start/vim-healthcheck + url = https://github.com/rhysd/vim-healthcheck +[submodule ".vim/pack/editor/start/vim-snippets"] + path = .vim/pack/editor/start/vim-snippets + url = https://github.com/honza/vim-snippets diff --git a/.vim/pack/editor/opt/rainbow b/.vim/pack/editor/opt/rainbow new file mode 160000 index 0000000..76ca1a2 --- /dev/null +++ b/.vim/pack/editor/opt/rainbow @@ -0,0 +1 @@ +Subproject commit 76ca1a20aa42edb5c65c19029968aad4625790dc diff --git a/.vim/pack/editor/start/editorconfig-vim b/.vim/pack/editor/start/editorconfig-vim new file mode 160000 index 0000000..91bd0b0 --- /dev/null +++ b/.vim/pack/editor/start/editorconfig-vim @@ -0,0 +1 @@ +Subproject commit 91bd0b0a2c6a72a110ab9feae335e1224480c233 diff --git a/.vim/pack/editor/start/papercolor-theme b/.vim/pack/editor/start/papercolor-theme new file mode 160000 index 0000000..0cfe64f --- /dev/null +++ b/.vim/pack/editor/start/papercolor-theme @@ -0,0 +1 @@ +Subproject commit 0cfe64ffb24c21a6101b5f994ca342a74c977aef diff --git a/.vim/pack/editor/start/ultisnips b/.vim/pack/editor/start/ultisnips new file mode 160000 index 0000000..dbc458e --- /dev/null +++ b/.vim/pack/editor/start/ultisnips @@ -0,0 +1 @@ +Subproject commit dbc458e110bb49299da76ec53f8b09b4f6dce28a diff --git a/.vim/pack/editor/start/vim-gitgutter b/.vim/pack/editor/start/vim-gitgutter new file mode 160000 index 0000000..6620e5f --- /dev/null +++ b/.vim/pack/editor/start/vim-gitgutter @@ -0,0 +1 @@ +Subproject commit 6620e5fbbe6a28de0bfed081f5bd2767023b7eea diff --git a/.vim/pack/editor/start/vim-healthcheck b/.vim/pack/editor/start/vim-healthcheck new file mode 160000 index 0000000..45a95f6 --- /dev/null +++ b/.vim/pack/editor/start/vim-healthcheck @@ -0,0 +1 @@ +Subproject commit 45a95f6c98322410cffdcb4a1c8a9a44a25d18be diff --git a/.vim/pack/editor/start/vim-snippets b/.vim/pack/editor/start/vim-snippets new file mode 160000 index 0000000..f0a3184 --- /dev/null +++ b/.vim/pack/editor/start/vim-snippets @@ -0,0 +1 @@ +Subproject commit f0a3184d9f90b96b044d5914625a25c554d7f301 diff --git a/.vim/pack/files/opt/SchemaStore.vim b/.vim/pack/files/opt/SchemaStore.vim new file mode 160000 index 0000000..0daed05 --- /dev/null +++ b/.vim/pack/files/opt/SchemaStore.vim @@ -0,0 +1 @@ +Subproject commit 0daed059e5bd979402e67f3a5ab0e75b5bb895a6 diff --git a/.vim/pack/files/opt/vim-cmake b/.vim/pack/files/opt/vim-cmake new file mode 160000 index 0000000..896bc21 --- /dev/null +++ b/.vim/pack/files/opt/vim-cmake @@ -0,0 +1 @@ +Subproject commit 896bc2189c8ade62d00a0ebedc59c65d9d9b0d65 diff --git a/.vim/pack/files/start/vim-gnupg b/.vim/pack/files/start/vim-gnupg new file mode 160000 index 0000000..f9b608f --- /dev/null +++ b/.vim/pack/files/start/vim-gnupg @@ -0,0 +1 @@ +Subproject commit f9b608f29003dfde6450931dc0f495a912973a88 diff --git a/.vim/pack/files/start/vim-markdown b/.vim/pack/files/start/vim-markdown new file mode 160000 index 0000000..8f6cb3a --- /dev/null +++ b/.vim/pack/files/start/vim-markdown @@ -0,0 +1 @@ +Subproject commit 8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51 diff --git a/.vim/pack/lsp/start/lsp b/.vim/pack/lsp/start/lsp new file mode 160000 index 0000000..9f3d92e --- /dev/null +++ b/.vim/pack/lsp/start/lsp @@ -0,0 +1 @@ +Subproject commit 9f3d92ed7f3ba0ba5b496f0fd2150ce56b049832 diff --git a/.vim/pack/web/opt/vim-prettier b/.vim/pack/web/opt/vim-prettier new file mode 160000 index 0000000..7dbdbb1 --- /dev/null +++ b/.vim/pack/web/opt/vim-prettier @@ -0,0 +1 @@ +Subproject commit 7dbdbb12c50a9f4ba72390cce2846248e4368fd0 diff --git a/.vim/pack/web/opt/vim-pug b/.vim/pack/web/opt/vim-pug new file mode 160000 index 0000000..ea39cd9 --- /dev/null +++ b/.vim/pack/web/opt/vim-pug @@ -0,0 +1 @@ +Subproject commit ea39cd942cf3194230cf72bfb838901a5344d3b3 diff --git a/.vim/scheme.vimrc b/.vim/scheme.vimrc new file mode 100644 index 0000000..8ac3792 --- /dev/null +++ b/.vim/scheme.vimrc @@ -0,0 +1,24 @@ +vim9script + +g:rainbow_active = 1 + +g:rainbow_conf = { + 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'], + 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], + 'guis': [''], + 'cterms': [''], + 'operators': '_,_', + 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'], + 'separately': { + '*': 0, + 'lisp': { + 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'], # lisp needs more colors for parentheses :) + }, + 'scheme': { + 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'], # and scheme too! + }, + } +} + +packadd rainbow +RainbowToggleOn diff --git a/.vim/spell/ru.utf-8.spl b/.vim/spell/ru.utf-8.spl new file mode 100644 index 0000000000000000000000000000000000000000..2670c6618652973c7a7a3521ecd33e874fa523e1 GIT binary patch literal 868406 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%0A!w{gPVF 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 z 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≻8L34e0-2u{Hd`0cIhcpX67p^WM( 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 z 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

&uj+}ho7U>85Yac^|6wOkcB5k= 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

aPm4AdPQ>@Xd25m(bly*P7inql35VRhQ|gnG zJ(8Cf=|Lq)L|>r>?R$)GyZcFX_mvw-dV#fB{*^ORK$4*--hwXOSR-f}={X`CtKjtu z)G{;mzKeKBx#|>eXEkqeRZ1r>ODHrz-KwJ(_jK?;bqC_gK-GtB$nw+oU&qEhXwD#v zHGJ?h=3HcztVOJH2DRVi5SC7j91XwdccM7;InQ>C=0&tW%{_9rm2Uoowg*cF?0lRY zN2v%MUwk7cAd%!DW5Ib(7+gvjCPrufkimUGGI*j z6Puup1p@8k#Qb>jULtAl%lF+4EK#6d)N%PmUtkGeT`M(4xjDEPhg(r4msc9;+hdp! zp~CZWftZyN53uQ~EA`MqWeV}eJks-g1SIR?33D@DU5NP#h9=n&@Wod*9gpjJd<_lc z@Y&}5h(hwxO)M^62IsomwKKiukoBTa3CN;n^Da~M+sEiPlS#VsJ)9Yrh4moZMeZWp zXVNh7t(_Kq27JIGiI7nGt(*=8dWKRfy7}=Ni)bjdrp&@h*;r(^@Fag+n43S!_eLd0 zqGW_A>A)HUl_|GUaa%kb zo3NgT5~hd<%eeGj9)9j`LaQhasHGbdj#VDMb}He*$PkPvBJZT9+9X*( zK&R1}#Ciy~yL}C=*r6|R#)juINe)0qRhZ|@tvCYpbdY`}Iieq>IP-Nqs&Yb_P(k0* z51coZ02}(A@CZr$$t8U_q-N_Yq%K_wuiN=DP{i(X+uZ+Jg>EP%Ujie9r8_(#&wtU3 z3`^!~=kikNg=qj7nch2mS*Ih=($EfIN~ImKe1c|y#OaP-rPu$Oj! zcRCBG17HLH=nay)_53wNIaNIZ{pplb1XE#kBnFJKSV}g8z1|lW2x06&wjD#mw}c7r zK8M!6RcB`M^#)z!3!%|Lj$6nf@~}k{+MGOxzPJKu_MZQ+dp1`5=26*_O9+li*9}CL z`+A6-*OJXdu9!0}vZfQ|X0k;tFk%>Fb4eRYR@=R!ThoXwoO#)Z?IdyGU&4-`UK-yJ z*TU7CMY|fWCFY$1MxotaxnfX5`co&)&9Mo-1H|^ZQ)Q1uh2i*^vn{KvTwI_6LwMZd zksK^Ad~=k~z(*n$PJMb76-{mz=lHfG1pS_`dMXYjV0wA1cvn}jHF5(G%v(btF-h&ZCB9d9v9;LN8zF@lcC{@RSy z7SU8GHV&_gVnkeM(_y{7%&1$=(Y1@IRPYV!Sd@E06My_lvglJayZ~&tFp<} zYZjz7KdjP~HnU&;PLN=0GD-Pn43wveRmsNpD+yHy2JXCNl_6rdu{pDv47Es?)xoSj zwNCQ0gFH{@=M1&#UWSq#kZpNuo`vO57ZF~bS9Tl!WFO`Cte9F?+Do5AcTaN6t}#lrQhGQOZx;n}Qj_22muF9F7XL#`AG;iDHxWmeqHm=pY=eVxuiG6kku z+U_2^9rFZcd_7hn4A^gaTq%Fmr_TvdLbh86h=UYaUUW%Kp;231>-3?J3w?@tI<2u`c;2AcmnT-Gvh_xu4I_?h1EMq# z$HET^J}8?I(v+mOHcA3tpRb`Pvnif;E-**IpKErkfpxxNHzR}x%kW+VS2GrjAc)yU zP*H86uw1L(6a-Q=m87>QijHOBG~jDFiHTe{0{u(`7Blsk+I}8KQcByvoRuQWz6!ah6VG{| zT=DCR5xVR>s+_uMG^r}g!kkC+YWZ(`ET9iZ=}Q<49o>T zz`8wxU7Y>7vIe%R$AH4lP-D2LqYFiVCAv2x>Tr-7kygd#j(eEN?C1w&Bq!|$3R|9q zNZPFALsEr1CG7xc9G*N)TDOX_hV~ms17$$&4$6w7to_TA{Zn%P43XGU#~QItf+Wgyugye-YfoRoE;FybkmHkhp>$3(+3nz5{dITb@M&3wq^9HK_M zBIx(oOj>j`(NvZW#xzv^>=`Mlp|sCXbdb_MBcob?ktetG{a*&9*tL}z?SyG z`)m`(D?@vl6%Yg|1iDYl`OIkZm@O|VB`J%dVuKPe?TI370o6Es{7(}yehLZM*rGVU zkPr8R0ac8&vK^RL5|eLJ_UGA;18E~{zB1tpSG3_AkrW-uqQGgLFdX$rt_kbJ-G0zX zz4}lM1ch!vXnZ`$?>HFZKEV0c&JUA>W~b-QcP?eX=9ya z*MG>Y*`=(LxE`2v5;=cLXo;|$A*Sx`7;mIdeJ{z6x~np(vF2*!az(lE6S3-ax{koS z)Cs&%wo%&{ki>JmYT#Tmp~!&Rw~bUEauNAXB25noBz$L7qDmYeX+F`W&>x&4&i{h}Kq)d7>W@8CamM z{Z&0G*{V}^{Td-Vg@M@%540AA)2vx5%0{$s(q9yM%EK{Z4ShRAK$07SQLv5(A=Kc@ z)kSiQH@4^m!PC`1nqCBK%GE%CXIzEdM6l^}_`h^(qQy?4B6*h#;AG;pGaM$$?HTlz zvG}X4$|{M;7$G@)n1dhrhM3=fvbq5OeNWc4dxcdZ`$w$LlVr%2HH#2Iz8p3i~J$~Yh!_lak zzMd@UM5(%hTLES{7VF8dWa297&xA00q^IPXoG$vLU$&hwOXXo73E5}Y74_oHVZrQ6^&*m`Ef{Mk6@NOtMvbbz5 z>M^UXtW-aa7~^EVLd;eqY{yfCPzqXgy$zujR=-xGIj(3x{Kl;p<0UkVMB_*gIXKd9 zPG->?FNYn6_mA|_`i#r#@<1F+_xf8By05=AofQhtBWoDZ&;Bz$+osKKMxzzw?Dnxz z)XYiwwC&;fQL}>B?^onNbMwRMc!&qKJP;zN>|BmdqkFjT&{)?|v+)j)?sE?d6?z#X zmHWJ7S7B+WsnVd-#SY<)%~`R&5N`d3N0;`5f7TwXQo$`1wTSa|K26M;6`k2c`kl#D zJXA`d@Y%Z#2VC>8OoYpN>$vn{@u-j1t!wyM#~R_1bD9-Ov=^f(;;yb>li%H!E<1}T zRB4|ELb#AtUGk8p6d$&$4b@S8S4S$Mo@ZYdoNt6s5bew=Wyn@tZHEdG4e2MR=B-co zGjFEB_UN-2lCN+R!JLKCp|tmM(Tmv=DlGB%STC~2ztsyES9A=Vpoo(Oz`3WtlT0esrmf{JNr4$~!@Nod9tEu04>xZMOE)&NWDjnU0)*iT&Y23yEi0u1 zb)SQ4#n+b{vpDD8oVDmGEt6$i?xR&ktwF{88g`bRNavmy5|X6huBf7f6Nbx$!W4hp zl`W0G9mLIA-6*_p;3<9X5Ub`jYZ)-Ddw`3HylS+`{yIn?Cd)TF?ZK67mN6D8z&-~P zodX}TAn#wNm`nQo0_R9_R%(--oWF-a74YHN_kP;2JRy&-wt2!OnI~ZR9X=_9T@Ia0 z!k1NRUT$?itBhAgLJPC1&dX*%JmUL|b_#(0@q9_CqF+bsnUQ<(g_JySlT`M@@Ft`m z)UZ^iH?fnD?sAO%7!x{+WRe$9Z(!&`I#t7HpsTJ@eY1lvBkp<2r_%+}COJrDX_O6u zaM336#8aJISspqt-5<)1>1oFXDF$Kn@)(O`aGM;JTWAF1O?I!2jkE>Tr9ZxaR+?Ao znaWw&>rH1VC8bGUjd>IhNX|XO2y*^d4q>;G_9-vyjD`Byg*~VTiW}XkE_O@Hk#!KWBrYla8f1QO1O~R0-b^KX07I9yk2~tn6-vmjHRvx;nq2fkSHwX}&q*5+oowv~kedvnr=pw{Y26*SXcmXJ7f`#R$Do;( zWpXl;vQ{CTs3IyLpl_R1GMfa9)ouK~IaP10l8U`-M23^5S`=;LD5~`ySIWz3S6i7&yrOL(!cm6r6=T1*Ou04S#fr_bZN&E9c0H~V74^OB&bW@9be>9J-8 z$E^8|#a^8s9px-suAgM9We8pYabk13(Eg@Lj=IYw5IOhkdYVPMuc`%Ifx(xYmUd$| zWZO5_QBF|H*s0TSurivX!0>$eCAdyiI`}(z8;^PW;e}#bl95t8EFaBw;mD=EU!LvS z1!4suTycqINLqD)vADF)Nx7~K#BKDnB*D5yAgg0L8!#+C$WM}%Hj@X2F?a{e2PI(J zd{#DjcsCOC3v9%_(?^Vf0Htt8XcTpq>HXA4-VC2cZm;5$F=~a^PK2$@9=+Ff1&f`%vG%$-6tcn2Y3ge?^Ly|7*07Sf(1K89?aCXEtg02Qa_EEiFL_}!@ z&>kkR?QSdhq-=MZX7HyP%xO8Uq(PcXNc*@;$3dikCW%Yn7~f;3K7l1j z$o(MGnNBXFfNVP9fSG0mB1@9PFuu8}q4nlEfFj=+w=I(6KbO*D2P#pQU4dPx|Au0u zCcTgi+ZpYzbm+qA+!1qVI%I!{wVK#cHm;KrckE7D^?=6rRcz-(=x&+Gf%fIeh6njn zNp?4HO6MFY&Lv_dL+T#U8dSyWa-xMN&YB<6ci)yR5W?TCm+qgz_$rSy__enH@1&Yl!X?%YNZ2U}vZ*NHL z5UG^&8Xc8FIpjMft!9sM_pS_!!dn(ubJ5UAdWR%za^z<`i$^q^zifp-Z{F`VMEp4V zNA2#Fh^cburuS{mH)`u75nHvWnnG2l2$@AR#Z1vsYP@O!cxyiP0!*&^99<)ox^c#$ zS&?bF;L(HN98I&p45(C(Ds%rJF1^x0 zjepZ>!6S{)BBssHOdn5=Vmu7}+;}9hcv8Z0HFU^&%M6ryMWh08+>O>v?1A?d9y?2C z-25=szzfr-=M`Q<%?r4q!W6n4GkiK>kGaAZA-s`4x%g7Ca?adya|YauV#F#8qyKc8 zIoo|1s>mTt?i(dl{HxQoRP&HA;>@?n?Us#P`Lb=a4mTW&T3W z!lrkTfezo>3y06^hnIO*X{S3BQ1YQAyA04lXnEELLYs5zNGcB_n@xb|e=oz^)@5>O zBiW-@uLf3TX9YVK%8;C5r5-<)@m|Ir&MZ)E%+tV}%ApJsvZH%l*`!c0X-AEelT5FZ z3Sro4-_*(|9sUIlmaxqS+GWoCm_^sd(jglNNctgUr&GjI2M|i(RPk8dX-IoCew3e1 zY9&RZF(k6}`ZFPGm}Kd|{}OWGMg8Xi$iPslN$wdr4(GeZ8gg8Y4=snQ?HDMG=}q2LLDEStt7W?+_PpVd55pszaejgSVyz=;90Z5Vgi*&MLmgNR{{K^(H{+; zv?rH~KtkJki;EwLJV}G5Q>p4;T>m=C+7*oq$FS&V2`IlCu6l}iQdoa6=S-W?&0?S{ zm-W`K0aNKf3O`ndQm^l7fZ2%z?URv*0?ziEY2BSao`&n8-On5;oGK)>t9-`YP7?fb zNA6YIOce_a=|3;vfSq+233;RzjOk6rESJh@mhIY z1~I#gOmyEHec;)XLmw6Rb89z!vbn&DVD1(FEj=NlD$0rWc$-&9QI5hxEDDysMlZu8 z<&t$|!G|Nk2_`vrYgIAqpxGW{8bT3j6}sN&!}Up zC-dsndxKa4y^}*S^cDc~dN*xiucp<6UbI+M_f9)rxX3{)Fdi?0oI4H-*FW*l^=@ep z{6ybJYl^a&>$J1_>2bry%2E%>`2kA_y}WQ#}xLy-sye4F*zz&;zIqVhAsLqz*J?)Iuc;=`-~Bl5Yqo+LB_6@hx?>`iV>-b zAeioal;$U*7Xd9;G(TV1(8i4droUId<;t`!WNr6lX#l42Yp{xg@0}Dc&2)hj*(xa$ z+D_>Nf?ztSe@%&-10mYp2~r_72GYA7Q-I;a%ijBvodo%&N2!SZ=C}KLSU0(2N$M7F zROpTS7Z^P9B3ikB^(Zt5UzGobI_*eLDvD@YE_TW$E#CsvAns&YukMY$t6V;y5vcV) zZQp7ojCAwcqvcOOEgY1keO#$mT5zB|AZ3(z;vBX%T_~vuh$&f|(*-TWuL?xX8|Vp0yX1LIB-4>O3*aBTAu=Ji zQo&K6!=PnH2p!(I(p8>tX<4X1_GyFHI6SVBbIwY2fIsjwK@T!)SlrxMfCJ3%7`}eI z_I15$;PW7_=y~qn!Fl-O{Z;(Lt-Goko*>^ORwb=>A3bDOT_Km%%lorg9)eRk6^@PI z5Z9{Mp-;muZ>P$tXcfaf1MgG8b59TZ5AN>L^)4-jidqzHn;Y{9`BNcR{iD0m^fuKi z;gcD5VwdeP=g#^dm{~^Fu3u`i+#=NeaxqYT8dm4?w?Ehn0s2!~c{H+unt|2UQEDf9 zcKuq-%t@$uF3TVc-GdB$Ev{7^apY(MT|iiWP(pp8UUY}Z-`LkBK+k)##E-g|O_V$K%m zrQN1Fd)K;%cyY_HKzazp7Apl+%D3^;^K8_rimtPdqOVvQ47pX%c#|VnlrzpkGVL(i z7_4=Y$l8^)1QO?ZM^!=Ss{2s<43myYi6`P-N}ul)H3t=B3y;s51FrZkrF~+h3s7KU z8T-N53^UgNYEdBw(2&FIhU^ zTVeV#5(QPeE$%3A4F&JK!!I4rVyXW*6@KI!bc)goF8pkcq3l)uB1$srC$P83e`*N7 zmEEphy$T{&hG4{T2E~DbRWK5j1=S^VEh*dP_3~cm7U6l|h{+2U1Kc{>>srUVn5_F> znQX+d08B-bfGkN<8NB;2)xt68fA(2r-t+8=#bv4>J5BGcb1bDypRDE zl8sJP2$Ux~?FG~2n{ZrT)MB3G${7ETZRK$~j=m8noczP02Evc|Y+@x+;YbJH&@OQ6;@e6Iu&ONUD}P3aUPgaUtDurzxK>B~}al9GlR>63+g z_`gY{jp|B&%t}!5OWI&Wp3|zzOClV3s8nkcdsUxnQ zcf*Rp_dpGvrwr$qxwrY@D*TuABP1P$9u)Z$`MarLMnXO5oS=>FpOPgfUdGKUZI_R( zGWq2N9A?g6K^@JnP6&cEkC~e;UBqkTm_+}iTh}pxxPRIJPifM4e{GT2hb~gicHo#o zP+Wubl}FrCzzZDw|M)uZ04=Js?a!H+U3ygk6{Xo|f{Gn`fmmYiSil}N>Kl871w=$7 z*h}mtYD{#OB1OT5MgeuPYgD=#tg&E2^Zl;t%sjgo^Zfz4`#dwJ+~@A?WDAZ_V<_cE z3LV^BM^}9SUa5%8P2ws9<+Ns(h(u5cu&;c6jkfVYYy1MdOJY9>ikWyXyorrxz44Pw z)Nc@&eFKwZa7C{jFLZgICqr2BTfF@AUTvujOBFzXvLr#CCa-oqX4?#{izDefO#oQi zV@RonJkG~Q`IdMSf?9LxBe*^GV(-)WXzMdZNBJ%T#yV|iy4eU}*=XS|E8PiwH01rS zw}d0UtuC4&s~=Yn$fders=ak(be39$&-#BkiM{9hW%g!b-o~OWE9hB2;o8QR73~ZVW(%zTlYmI|dIcK+Cg_HJ9fjbz6&yI=uk;#m<6r zPSH1ZW;XmVQG$RjVpf)~@xMV8P0q78i2(=7yJ4ihUeA`aYCfa&$LX*rH_`ld4z^|5 zWbklV-+JCR!J8j*J(HN?&=F`A*Vc&TLF2mHNEodLRos>n3=iGclqt{WE-`;^7znc2 z-gpE;_6TWY2sjcDnXqiK!YXR{lM5q4de~f%fCN;xgtNF16J2ZbeSq9Y7q6`}hb`^D zP|ZG~$ixU_#ddePbRjlyUAaSCN>lt3W5(gb33J96Jwv-m5I%W0-e~nBq83!E3r&KZ z&Jn4O9|a*bg;j;7VpWRHr>AxI1D>V~%tIZI2>qD;h`pzfi!F{zZO$AWkR}QJHZ@`E z20*u&vz$?JOqAmcK=xPkJF0I`LRpE#S`m4GR4bK)Wgjz#pr!Ou!S-xDbv@(72SE9( zsqVK{vje`O4~Cfq`<#2Ogr4V-11Ea|w@l)j-J0Bq!XXaD4(g^zQRn)Be8}v{Q_16p54j#@WGB@pRqIW1JJ}g4(cObVCuvaqaJsW_M+lmlDy4`1@*0haV2F;}X zg%$}2x{z~W+)3MYiSBI;bmA72Jr&ck>dX-}8wdd|NFXg7 z%JbMvY;57NV4vFFF?`nln>vL_qmd7#gzi-S7yU^Kb+GR$#87_nY}Us2(lqnIUuX)m z4yIx47j2Ht#s3ks9OAf>HI)_Cht72zm>c3mOQaavsRd(3)3*|9fa&8LNrNNz0C_SCW`xvHi7C-x@00qk$vErnB>|7eGH!Y8V@>s1T9e_;%Q>|7Hb}janCUy?`i_ z>oI1@q{gC>Z306APj!)XM0(+n1xkM6Oog!~lggdRn1~n&F)^ zsT&>AmaWh#;hjD&UMt?!GPzM)o?RWiIXfTyTH({AtSaK=n16OW>)8Ai*-Y_zc~J99|Tub6|ICe=`hXd4i(<}i#$ZG*8cK%#mbLRralLTt@y3@ zt-OR`@S7ktU4GeAw7iN_l*UnKJ|fLOd*jc}Ea1@zwbPuUh3mBnERUORC_9i%%@7oN zR|6iFc%}US^OTveS^{w417Kn1_D8joYmYqv4!w`aw7-4anpnl9Tm|qxb240R)ZdTV3iwWNV7&wp9su8*6o2I zeAZ$N$~=|@4a8kaT7+~6V5BXNaz|NpI%T{0{-X;n5Yo;6iV943J#>PDE@X2mCj_@E zjswY}h^zL2geH^iSrqM;rW$Xd2Y~&{Cf8~M5R$!;k8R6=D9~zshSbAd=V|_eq4l}6 z#&;=&u=Ayorlktx7@hTs?BE|5Pd9g1G{F9PeKW@LCfVXXnmeVWX9HyERVaei zE}`Iuo57ub8NQ;h#|`KWsD8le;iXfNsWd9mB4S!6EoNxRqoHwywfHQpPneff4-)@L z7Hy+X@IFainEPcnZYA(IM&b?*zHq=Gie6G$cF@N1r<>ZVtrPI))c?A1OavuZ{Herj-CCNy;BlT5h&W8T#Sb zbcb_mc!8_07Nqc{#b*ekaJSw$g7()}=nx%{4o!1i{B-pO!$)3a^5ct;{qsS^;-#+X z+Ai6YsAvSe80T-Jku}rWf%>Q#rDwB1a2YSTqK1k#@jL!U4IvH#A7S>ceGn_{o~5gd zHAA|6Z`Mk|9n3MNS$aM&>V3M3)3k_JK9^An@>@2@0m)&>*c3w$>v%#sggYm}i}{Xq zUuYK*_lji?syrkN_DvB=$<}IQHp$Dvn74h&3Cr*b&(XGr?X9HuOW-be#b9_=*_>IQ ze{f7I*Fq{r#!Ag}oL!(3I-nsPgMjeGUE#SeMumJ}3!D`^t|T=)5e)V37l3=V8zn{s zPMRFZEcQg@HQ9N;<7~_@sM%yXU>y^fAbK9%X@LCkMuE+z0N=&`ClJ+g%2jQcVr~zn zNII|$++d<*RTn&c6XEv- zK{&6UA?e~n=x#`NmyYhZxg%_!@iVj;I!n6)p0X9?Q54kCi+OHQgmsC;VAyQEpeLL418M%jq3lw_b& zsUoyUU!=Vq6Lq>A06QDt)In?jJF)_nxG%2t4ar}RQ}jYtiihO2Ndm+<3!0NGAchL% zqp_GM=*CU_?s1fl@Zfi`6IZcXuDtV{bQm0lM~yNBBT>tJS3IVjF$97|s|~9jYdUG@Onq%)W! z`-uMgt|>-1-1@jMz`2D9NxY$2enI zxE)DVTbt*0AL1G0a9^{p-dF#|eiO7$Gr8?9h&F+5yk2x>M3=wqAuHYLrSOn?OFbPw zQ!HG6!MR4gCN@Fn@OAh_$UC-hfngQeZRn;O1{NI-3d*_6v1dEHU8^xwi(Ceig4vkb zF=#RZN^G^EkfFgfj&g%i_3ZKyjP?QhTYCOj@Jxwbtj;!K5w}a9g72FK;vMJ?@4_pD zIW0&%U#$l}5_Zm_O6^P~yk{fNN|p}+9bRlKNtCd4S?pW?8ViYDIUTxtT!e7oGkQ!V z_2IH6a)A8%9kF!WuUVhbyxaZy=m7x9qMEbi(USb4Y+(1BAE&a#t!|Tbr8XM8U=7Zg zou7FRepjgx>>RXkKS?lP*{oXq$Km*1!A4%mM$I=Ey#F8TtSywf(HQI0H5|&0ve?yk z1{Tr7RccK`pg$OL#;QiUsncA-1=eTRUdu$)O-zYC|Ai51`pI2CPw)^d zUZHHJZm;;5t9PtdqEII#`oablyCo0aV>XCPlLnV`dz zS(Rt&`Ej%pIh6DBW-5@0A2hvsqK;1t-`7xcNFsu>hE6m*u6-+tfOd6?=Id1)B7)HW zus%X~cN|bAaRBH=l#-T?Uej^g+UPv1uU4;sXD^|D{ea_?-hAyfB3F|v{jzKj3TfCQ z_@Hgz6J#4~kpf`lYBXp7gmJNyXtE}Lw(B6}n1qNPr+zH7q|#V2D)W5_I7qk*8`#M6 zPb0@Zal>cbsZ>jE6AfQ($-K|skx6LQby)MX7m2U1D=thBUeAoF(n?z9>CkRWyq;Z> zF*0YgPt;HzyW_HQ?8x1TI}!nVg)5{lziEShx71Ei2d?MAk$(+TqPoIKGS69*I`^>G@x zuu+Bkt`pihi+EMN7Sb!k&jsBW9}>BI-^mM8oWtDJ0?Z=&QnjW8PwuEj3zn-3j&1&^ zIt~^U)4=y3FC(fZ=JJiN)w$)5Y#6$Vn)f~v#44>VRhmhmU_An$dv2hX8!fjR0mfN; zfp)@B+MtH;6n*QYSA*h8CWAw*RZ}rJeCFxUR?<_2e&%7x;bbJR>GZp!!N4B>WYcPm zFlWY0A6b}#Mx~=Wd3*g7NF@F*ao;n(WDzY#OjOWpB$b@|DbC3-KU`%L4bQy;BwAkR z%pxv4+l4Eu1;&;;&Q5Et;@4XK7<`iKh6+I@yB(}`3g+tH>9vul4b7|Jd%Y5B9SCgI zN%pf66hsU6aA${htH#?V|v5Jc*2S~8xneQM( zrORRkabY#Pt)cC5rs89ZkE>B*+Oa-T9kb2$d{}G!u7C2y%n+TI5Kyn>s9eMg*#tBW zT@2q009{B_`fZ0uW_}GkTwm!!jS>gy3N%7*WsZKQPqX7YxnVS3&@(QU13|M#yP(Nr zowH19Msv8k!Jqq^VG=OW8`$SkwN+*FJQEqV^XReiHXY4sikD=pN3kR~z2_$%ekS}f zo}<#d;^|?d|0M-|jE=_9CSdLN7fnUMn&S;fV9ChfzC21-s&?Qp4BWK1%&dA_17K0T8SF z>h}j$TRn>DLwpfcc^rzGu@cP}bTC1r6E@jl46S(uN}Wu!1ERX_8)`!KrxQtPdZG4F z9~{7w90}hq1VdP?or|muc11JE$&Z#H6Qyh7E@=k3x~bClKd=DnE$?>~x^&M#R?Mya zh9l!ce$LlmFBtEBIBRXrTWf938tKIXV@ckf0-&-Jq@MGH&|F;K7o%wl$*vP>vJtqW z&R%krw>0p#b{P4)i`N@o1>7;z&}UBs_!*7QiM`S#GIZUP5oZl356rwKeY%%^>Hwws zl(7Pda<=}9bn$FI7U^_xz9VTD)*9i;4#N~CQ#J!D%r2Xxs1`sv^FAmaN1e!@(l@Sn z2>Hy<=&8>Am;O?S35#Rfb*>w|jVMgceNw$ly2eEY9 z2Vmrcd*Ri~PJ~xeTmCpNF2LNV>Zcy_jA<2)u6osQsWs-+=!4Npz`L@@NaR8#a;HLHz$_LZ!#OPX9np=$q z;`U!z2}Ci6m+_tKy0({&4!Ri&6}dcRol}+Hh>V3ZBEm0)R^I^cCbwczFdj48I|Y}P zSvM3C-g-7;7MW{NrHm1Ue@zy<{}rdC;&|Z13em3VjMQkEL1HCxb`?==u%$={C*u_M z`Q31k)S92eiSmx8Dfi9VX$GzkgfeNE`qGh)@w7*R&oU8#_`2wjE=xwf80XT81-q}n03-oTO?LrLu_0(M3n=MV; zi0W3DWw(Uz@6#zG2+xfN8x-~nPjiZxxukkl>tn0i0oX7*kjSv&-+L@fsc9 zw-61mJ#r=oY>%BhE99#AHcfkLO!N_mx=a-TKZ=gBuze3mNd6o zm|7JSJg`}G`^jBccpesWJ6l52ZXsp%&*#L=R;ceXjG{(eY7V{8e@yLr4QP<$t}P*~ zYjry10GE%l0(?ws5k+j`4tIAa_ed}cV$_12S)pKOQYNtJhA^>QeB66(mMdeS!(F0^ zwAWW!vI0=yvP5^a5ze9nA=EFXV~*qV*r{7s^Eq>*osBEINR~?_^F0FQu}j}le;;|G zO7-N$hYbtyjC9*u07!A+M9gR7NJ94XT4grZ>Y1<;#nKv{OJ2^+EE+yZ51lNqOGzcS zW6OGtOev#BCU!;Zso;f+Lx1uEZ`D;WgQv4}|l^etm zan$GCGu3>4`61FfMVz1QgYe@X6EqoeGM-(I5fH)#7g|5Gag(SQf3%;G@%KOxQuDaC z550nOIe!*nP01Dt=ZCd_h}hGZwemufIuc>kSX#0=>oZaVQdyL4bs13N9!UW!8mUU0 z&QD!0GCSuCYxl(XZBJ@X`Pm&rW)>Rx$!CEttU|e=HZE-W!v4Cvs}u&M0q_cWVz$Zh z&0dw)ru6a2CuT2B_-y|P5bI^b(U|cVkn5)2B_<1zhb%$X*LF6Zl}Io%#Mel=5_vid z6gxx3giQfB>y7F!kK=G(D5!l$KHh&yj3)e{nek9p9@Jt^1vjUX`obZs(R@S*9cb6U zy?QY;FN~&0Rv7W?A*mX4Rxl$qKCMrkZlY@t1iFfIg5os{2G-WPhA5!6Bdsd_ zly|1mrXzc+k7I^;oAJYA20S+hN<&3O3fcU7Rhq78>aewSWu^$q0**pMer@?Y^xv(e zvfF9}C2Ln=d7@iY!h|O#Nr*jMvFhQ~NMN*lj1>l`+619(4@vT@h@Rz7C8g-o^}n*hcq#G}v< zE+$hbeDa;_)!D5@z1bt@#@K-ZJ7fPV(5JHE@ji+$lqi7k(6{DnCseV z`03a*N^`qf#&MMDz3EYZZ`5V2+fV3x)m`B|)fa`sP$wi!Mi|EBR4m8Exv&YNck#nygI;wsDM*(8xWH%=@hTdl)7Kn<1KRZc1>47D)DY3KEkP1yz%ei9U6@F1=RIC6uOLTs*#%OGn zdKo?aUIne?G=>s6r7PwUS3&m_snBP!uho2+F{LR(1__58jlhyK*`&|rTsm8lS8mSe zRFVZ0lJ^ge(BKQZj+74}2mzATCohnDo|t*Zb2wP~Q_qSP7x>T3bItDnn<~3QfOjXL z1yZR>$~rg^H-Hdza03=95t zoua2kgS!R2pHm_uuyD7)nw8DN+=`j-|4{YJ4vUuS6T3oLhclUN!GPtKSJJ3T{t?5J z`~5{QkRFMD(3D|_foWnSj0{gDyX`SmXBDwWke1IE^@9s2!4K>bgF<(7279GavQf=f zSR%Kd{Q+Dkz{|Rc96-8W4i?U#z|nNz#ri5R)){~VYL>+FE~mB=FPt%!qiDTvsm6y7 zx!IH_t_gI@#6W}LC1YiydP_Xo3a1X=>-pGsGi`Cv?98`;s!;;2lpcI{I{ibF8=o_h zhYQ!o;06vys*8r=f?_El9XH4Pp|}PTzg7G*TOtrxUo{tZF||*O30Z|x*Q`#r8jV&s zucLWn{d6ID`1w>Qy0kSL;WjcpO!`0e^6jCVa`ptp&KTXD4#w>1x^zUyFFj0=O!`Sl zm3hy7UGde0F2rK=Zwd60r% ztS&rtsJue4!=4U{o9cP8ii4?MU#v(qyvY%A5jjjC6-Rlf%tPLg&d=q4F^iUWC?Tw6 z_L=A$q1P046uNefk}LYBw6w*i`WDuiRLF#mWb2tZ8~!ab@LpUbjFDmwYDdn}KrF@{ z_pyHdGV!4Nyy1}D*=0^aLl;=C0PvY{{P8M0WscDMRX26(epA=bgHCrn%`!^)A=zrkL=>+z z-Zgi|QQwYt$i5KlWP3l3ZR?9avY)$Stm{MFmCDa-z+PrxDlp;jvPTC_p<=OG`cT?e zJ4)C4sSZK%5TW!>zLvS8N@bY;JM{oiB0K->$AWr?y=x08sO!f^3L&KeF;lyj^_WKE zy~{Vyfr7%#r%lsnp|=P^I!`?Cs1Qo#%2O7jRNMBK{><-G03}x+pfALur5e&nq7(%R zE`Bnh3}D3;Lg7g{`{W~N)ye7wt+Y9gI~OAcbf)YWpmOlKEdp4{Hb8-tQZNsp4(mO zlKdOH{6OC@F+u8*VqJ!_Un2x!@i}T2{lXS%kosxBw(2pXGg76<=Y-A)B3Da;kzlP8 zEW`3YG%#;n$MeV`nx&FMD>KdPGa2_u9gdJ3wqcmZ<0jRLeD+}oQ$Y*Q8)&A80E-6i ze94a`;ICZrBbVfPpRrCZ)oE;aB@*;em>Gkq~ zTq@3|jt>g*6$yx=+5@vPSyAh38Pcb|QYyIir3_sA-%v5)br%Ifp%YyDfFL8^Qy4{O zIbeC~2gBj&PmACySQN6hWOo+)RMYc&1ft$(v!fj6L@wDy2f#b>i8^`|9Rb)*A+)%G7)JJ0Z{yDUlhB15%ska$isi;T1E6~#A+6JD zLmVw68?;IJ!0pnRU>4RKnG7BH7d3M(`jRACHL*6MGJZHiZgf= zo%Zg7Xfvi^=stZId{ed(9dZ@?QbL3|O*r&-GA|V}hzem`x4%pFxcqVa&$(J6Wi4@d z+Ee5P)V6QjMB%I@=6h*3arDsCk=dqXe^F>1!d8#d9Wyp-sM(N1G*ZET*OS=3L*{M2s8?nsVd^5g$YBz7UMb%<{JHnhjiZ+m<0j^0^)D+0re;{B9a;V)voEdV_vp2lal*)I3x^v<2krNkbsCQSNkr>Dyh)4u z)zY-BdjrEA;#Gp?*&!XY)T-N5IUU$PJ!{21Xfwh@;m7SG+ibnBa7+e_7~T$4Pz6G` z$>XQ6-}^^$l6iW`NY~9OBQEMivS^kZSkJ_0xQuyXf8u^R=T@C??p(@s1t2S&cK0vr z?4o9AdLWfA-Q9f4lFdO19m@M3Z@vP0HQ(_KkvArL;6 zfowUr0$rqEXo#|nNmOG7A*?$$ajC3u1DED%62ci}k`N)gv%3@ryId%AS0I`Uf6+v( zj11-G)bLa#l{AiwdWMrb8AIY+vBbpp8y9_2UMtOFMt*NtZBWm4tqQrzYQ@b$`p9fJ z+AYUN?Xb%^Wk_H2CHU)e$6~WJ9wIs|sIj2;saMj=t;S5T4-DH>XOcasTv7Gh97#Z9 zJDFJ{Pv>CJzm9Nz11;3@-OiTUpi5DlLBfblaIkF$k@Wr$z?J#qAcefM>5dm0a@izi z1}AkugC^;M_Njg48&JVfVb*P6E?Vik&eQ)>=6-aO&Y${d;6B~gv#?7JIJ@y!&EjjW zAKU|{TQ&kie8cMru!gsqL@#@9I(4^a69 zpOn|xXQ27GJJUWKr=libsS1cC=%fG$_0;kulpa9S;Q!v6hI@&28A;P!q{1o2E8O7& z`jawY+KCVu3KA5tel1+-HSebJY1%8i+?oz#0Pr!KcwD_ce)v$c7F@KMIffXE)cy= z%z}<=G}CjByySk>#9sH4U6Oo-jFe#!QI*H?y_AS`aE+;3OvbHNEqBb`@%>0ouBh8b z-6cgxt_SIfvL|$jPyT;h#Iec*dI=Oi5QpG?^CF9Jz1dOPD5Hz5X}45U(uP5-hsq&( z94ci)M`#$u+X`bMXDxfO4D9~Ccsm2o7BR2>mpp1XrWi`-QR)*E=$}S9V7B=g>IbaT z`Nc-uJwn+C+KABY5>y6>8Hp{OiGHeof=aT|=l)3Uglkh0`f!GN?ehNNq`4juYBcG7i$g113v&<#l9ruvy4U ziL2`H3#P3xb2z6E<~&wF=B>$EMij(*x*aeltpwNf>_PE%cM*jIY(X4ZEv0G3w`)S) z>w3u=j#ko{u;@FRi%e;kNaki9xyc8Zy3KICVet%T$Kr%IAWZ(%`u z@XyD`qE~Wy+tgRSEZmdd*_Ib)3R^o%15V8%X+7*LezT6S>7SW8vJSQ0M4X%SFMU|b zG;)24Bvi=Hq5?%G`mo00n6|FZLc#~u-)|n0et0Xg@UNuY&dH6-$(bZAbM8ZdmwC?LnV7IoicbHS= zp#hj|bqwom_pt!T#;R&$Udd|_ML!VU?f}9r_)Zay$$5+F1yJEPTM^R?;l9U6l!Rmd zdqKu&?)qemsD$p@DyuR)4>6axC5p7I%oM(AzNn{+0)^_SJ?g#ME#E?5UU(Rs`Qr7a zI$e|Wx8IE#bLCazbZu3(?>#a8sHAErnEh0uP=-Kuc`FB!6hsofR(y9T=JwrLx;Q*6 zKcU>Sms9>4#WguDOg#8dDHotH3ESwtA#L{odo=c`K*Ora=lkpI+71G=FG?$hmPK(~ z*h`<{^W_p6!JU1=hCPm{70?-%LX?spl=9z7$zyztyGXuGn5Wa%<4wJ+EqMcN?R-$Y zw66P2P&9JjCK0tca-jYw22}WBr7_`s?i|m04;Y8%6HeRfD&-{jPA<9HOII<=8eqWW zrvgqqVk?MW6OAQfmp@DHI9>VLEX$QBC1&aocHS-I-&H-5>r}b$iOIwJG zVlXw;NI1wg75kQZAi8WOyj}7YkSmSq8F5*3M-&>(6?HX!k)Bp-_Y#w;g^1fV!4=+? zgBJ8sQXE`YaZjy4W9)ftL`~_r`R$-wCxWOH0#oz0~ZwFEAOC1Lmvo zzw8mThGz=Jq>yktsik!~AKK?A)dX~(7vg@$zc2AWo4!Yxd|KJT6B(h7e^H`cGfUFV zZ#(*&pLJp6+Cph8%)c3}ajLQU{M@diY+Zy|-^2*J)*8Z)XLVBQm13r$4<&3woD!MR zlA@zgD=N>A>JmC;vuK>GvA62@MGQazKpl_g*xb6fo;*$Neqb!H90$w&bzD!upPo0_ zq*|7l26yoXee#v6Dw!{}TxVb=j`DLmW2ANDSq{`-$cHaQvQ`nIK5*sj4nkx9#=yZ7 z*gUMgFRV(A%!d3Qv?Dry2z`Av>5bhz64)qRb?@$is)3cPPro7}`^Tz9#DDeQ?*1-a z90}+;x!j39hCq>a{FZK zQu)Q*>iAp62}Ow^9rLQ>qj(g~tRt1-F42Ny5_N+F|@>>TsMS{cK(f5=W5DTw*_86Q3RUqG`;u9;SPThS`Ic32PN31D8d-9#&0Dvm^EGVS4QYjhlNyL`y+dB*ytPPNrG+Tlg> z*df|)xwO)C#L|lDCig)EtZDD3V*M0%i^aw2MV=}eW6mh5t1v1G7RU4y-9<08-YClW zuSR1Vayq@|fR8H#2t|vp04wSzWp^uy;#WjK$Pc@nr<6Z|>7`mw+PDH+Zs?Up4a|YV z7BViT2uW;RVUTx;J9ISKO-L_UB)~}2g-bpVJ-TyXcwzsF;w?E{u^_fleUWq6%x~`L ztLkRwjcu}RE#Iu3Qn`kL7qrTumCABbGCYkWDhpzT%-gLWqGZ>V&h#HTVx&TTu?(zt z7h#~pkCSu`c+ieKy9;bp9kY>rZgLpN|Ctiwk34#HMK$DC{&upIIBBJl$#*zw{lC!a#hxjuoW05w?QxtdB?^yPG=c--EuyA5VWIcL~9o^WUI!F+aBs z|Ch2_UC@SejbWDGCu1$NKXgG8{2%QPKv?A;vYCceJ3OPZ5?OufpCMp9PY?+5Irs|J z8uQum69)`Pz+3k<6R-G3c|Aw8QVVVeD0sp;EFwJKxS`GvF$;>B7$)EG z4Rv5^{+QtJTZQ0cro(|LI=@C|Nl{CnfR5)Ia$41CG5Q(wVw3};@lQ!u zun`pBO+K#W2!?WASjEhWk~UQir|73Rt(A}^`$L^%m!{4~4z*L4_X`?hevItKw4VNx zn}?!(ty{yxUw?>|A7M+}ozcPOnh5ZH%SY;MQHOtTtbNrl7rTiPH>`g%vM0H0l#EWa z(o@MpVOHsh;a2oCQwARh0%6HxV#5u$f5v@>u;+P57U`54eZsw0dgBpp*a2^Y+8od! zhX8XYJA@r?Wjkt`&yNNX6GrrshzV(rZ}=R}&9s_c1L-GXpwo;hDp064+GVO_2U;9y z7>!Ay$D6J)mXK=fRrj;cabJBc7)r=A`^~19-1$K#GQ@QUiw_iDh$tds@RSy&5)O8( zu3Rs&uZDstw4T>M0)?%>e&^sxS&{1IBTU*nU$E#Hh8NZDuWN(szEK)PNdA7<2$>r& z;dJdtQe2J!gi8`<*ZRw`U9u_|TKH8;bg?s}2~Suxj?tTbQ97NjxylA_hIhwy>VGX95I1^Ty?u^zk2swA_<%$4l zFwTHY`B#&DtFdq=ba>@}OcF<&iETR2`W(Q;+Ha_~26!`pcfv{P3;2l0<61ru;^cHoKd>cA~ z|BkpCfBrD1-9gG%zD&1Uky+`OYV3TnS0S`~6%zUBPRTKy9}G7tr7|F_>0rY!<@`^X zQXUZ}rF*X$n9XfUOEVplstsI>*Sw#&o%B>G{;&*5rEC~B&zZzs5nr*?(&rNn-&c$l(`ZuUS}9y%?&u)42OJe9F+iVz=c8rR8BxOl0apQx{Me5CN@li3*z{ z6<|2T)9Uz{=G$jGVuFpMKIl=`C|Dmaa6s8+4)-ZE!G~1`#Y;^z^s0k~mx8?#^=UTL zfK6WGT+2?nEIB%x_$8k-Ls>x12!>C%P(p!zB4TB^X2`BJrwRGQHGLFpN+%5>-AqWX z3(3r4JwtA%QnpZ)LFpNHMHklVHL{EH$$-_UpAZMJgRUmH@1jv@Lp+w=udLDjp{E8 z4CcVPD_Ys2@)r)fTInQ)Do#?v#dy#h?83&IIjZ=m-q?I{O1e_nrprn>b#PE154wS`#{&I~E6NNGKK8dH+ zpC}oqLzveFPGEiS^;u#jbAJT;XUte2cQuOI`JmCuku)^tScD(4pnh<9Gq*AG#G#^Rc+g&IbzPP)H1$=Q+Oh&LXR=Q7xUvSWB zcomY5+5_iGT`JCmU(?)sf2hnW&!iA;uQj4aI-gG=RAygZjK5)cjU?=hO90)UFCAf_>_8> zCar~H5sRKE(uWbSUn8ecTh%96dW#%I0PS^pmkKSCQxH1lNfi%METL#w4+e*=I$%lzkx~$+yI8t%xQe6D&V~MEHKkT6pI`QVsf2-!CBogJuEYO_BEz zGilj%%mXMPT&IMv)m~uPtT|M_1VW^3UAEzfQOIuoL}t3VB?2EIldjuSLc=~Ww1-V< zq;RxWy8$%9=%Ee&_)N!k-(&1OZGXDxm8LO>rwxDw>H)gdO{EAbE(lqsntu9ri-}~L z9%_p6w$(C#$ZY$jOhA!0dv5#E2%2B2ZMX_JB-FQ9iqn}2YvyrQxP@}Xy-{?aLeX>C zi`*Mw>@&uk(B?}mwEdm{8Pu|K2eXn530K3adDBrpTCa;(Ope(|+Lcr{-{Ru_@Y%Av zwC$In4J^$a$=*O?)^43aAFml&_L9j#B0sDe3ne1*MPg-n+2!eMOcxLxJ5zk9`sz!i(=oQQZ6jj;Jq+5)ZnwMz(^pXZav8 zkJ)8PeG3B%rcMZHkM#{UwEBQ%x!MddIzsPfW>c6Bd1 zfIXR~zIa~L)vKOD#d?2;;@%6IFm|abgnK#wcqjw4fHwIS&Ifjuc*IWX&VXf~I`&21 z>Oa+5uqkd99WVZAD<@!j^O9@v6>fl5mFryj4x1@tH*9BS6V1$#tYbWgp-TI7YBM>5 ztU)J}{wyO&p3v%Ap!P7?V0|BhAYZ-e(dp{$e{O7byR;47vaS=Ombnb>1lzq~G7E$( zq^~O>#Q1BIo;ExJ5Kbz{Ku)T#?Vza=%UY51g^dL6q5>vZL7vA8c&IIb&3m+DwKrUA z{?)wYPHdO=Vhhzrf!pS5vHLQJad>oC;FLnt^iu7K#*aR($Q!MNkvbldCkdCyWE5fG zNpFNBf&-T?NX^N%>A-TNBZ#|Ez=2UHJWgU3JaKL@C?Xn>5eiT*pTO7O4B%X1(!hpj zV|rtwo(_*fy|~<>LTJpEp@K|%M{-}iKXTgVLe8Bg#(7+cwT;r9E|4YF^I4IKM3(YS z%S15N;0EZrK8bFkepB@uFjbmehV1zpYF5tx3%FAveM(}EJ{rl@rmG1Bx(C)9ZHyhA zGAUX;dvd|Vg898K6eSF|Bzx{Xf%wN5XZq0Rg4q59SK=* z^{m+E;}>%Xr(9+UNLbqpk~3A9JWy1_K35%7v{XVP*{VsomQu|InBrjhAykPaOMV!~ zCc>lE9=5s@)igVVm{;g^F_ybS!3gP1LII>ruF_WqGiN+nv^JgDA{i%HYDRaBr0yAffogp4KF$=bc9yVoYOR za?&h0RYCMFpYh7uiA5u2K3SmF2)@;>PglULUgv~F(m7k0~99KS0 zC2EC@bTr_Xm0rm zxa-$zFd1QA@R}H+`E%$^ws*)|>|4)+_BFb`Jw0@Hq)_sZF)eia+80UCbU;qx3S~!5DjmjJ}4--%hY!!#`lJ)LLVu86RiCdRKl76qdWlf>FcHjNN^cL+n7 zYJah5E8*-MZEUj#0G2FjhWHeHEB_E)L_Is59t*M(MVa>k&bUucOXiI_P=?LUlE=B0 zRTYIbQ{^_TBn*YT>PkRL1{vr#aFXOsR{shPtLU$a%Z)|mi%wvFV3+Z{9sr%u!kXE(161Z8J=#IHoyjC>ijGwBzYV3b4`p8Ep~t%j$5(W^iCa!P#_GW^Z`b)%xj z0@;}g(b|2@Y2{k6bX-9zW>nqU2g2pCxSrQ~fgK{|%@#)TrgS809px=#5M8>h;+XTU zGH9E`I^%TVT#iM)p9l>cOqBEMaxs)znPH{c6}DOh$&@}F7RYzNxwaIscg_>mg}&di zxw7Mr&Q~@H*qrd-!cUx@hC14$|Ey>`IgtJTy8$ESyV5U~9XGUAzIcbRbLh>W_^_nheHh&6v{F`nFH%uzVA%cYjClIWbe|! zF-1Xpxw+0}62&%A+zc8BpWywu5979*`2&(&H&N?JKm$Hm4|l;$3E(R3vkQ6Obti}; zC9SBLmqLMFuRoJPyt&nW9>4~C*z6lSv)9@f%Fb~{f)>!=lKr6vlEick2kP-Hq;her z=koHGzY~s^wR=@Wq<3iZD4_s=p?~7>rNu+0(%-hK73BerTSzo30u=d)ZnEnQGKaW* zzQaa^?~5{vprl@w>`Tv_)u}Ab;iEyXZ%J4nMk0tT-3>O{d!pE=bjy$p>W@evc>S~f z*lGY0Cof=@Z*e)>X?vGL3MSpK?q68g%AE*(s;V+Hp+Of)O)05Dw)>abjZI{;P^bBX zjeAL1S4w_S6&zh-Zm?ysoc-{46QF(MqMDIcAQs-+36$XuN`?})gk+b^r94Fkib^a{ zSAMsP$J`Be#GY~Fhl^g9?(1tmDrt5h>^8)P*Oy5p-I-5mf1AN?Ad2%JTd69$9|*5OU1D4JE+x zojdljs705fr5tv-9QJgPd~Phc0vBDy3&{ruMT>2_e_6%C$d^%+HvflkTsgO*c5zSA z2HAan*o`%Oa&Zh6@G%Vrv}s*==lGjLY(e@BnW4jU@)*PbZMDn5IaV$U08Jc$hvEjt zxMZ&m9E>iTmL4cqS$LXvPq-+8;w}1E$v`o&%zao4ZxOmk7?4>1RWvgifiIjUYa3b_ zFryaR5gE=uIiEs)L%WDTS`$bEb-JuZA|SMXkTZ>W$*HRe1Yr5`x99b=!-dY7@xa`Y zGCQdLDYROt-G3-Yl8~#EnXqD5orAi3z3ht`E9bmh37^5DK_nUA@Ix|%mPJ2_#*Dpg zO;i?$WiUc(zK{fI#QXVEOcEUv(HZ8yedF3qgIL0^W&KZn6;`Ky1~6&CtL?3V&4oi$ z2Uol^RoEQkCG&jFzIVn}xScQPEsRhblCyUdo*p6nYV)QwI&#De>V!T-Fu2hG^A%Q6 z1-bbe2&>vzRIqHC=XK1Mek%no#ha{-V9>U@x;eYw*P(}hch(vk6h1kf-IroG0gMnf zI4bTz0*Xs0c~Sl0LiXDCq6cMVq%3=0GocQ8=dt8|u$Ofgh@%u&)ODGp8I-LaS6Mo8 zIWE@$~OZuwupwJDd!oOSidyf_aME%8`FqvT+Lo zEtP17O`+kD09LSk_DNE`sd4A{R0yEND$^Lr4lqxj0A9z@k#^_aAiZ+l{q;zv)9t3H zL|a59BnS=@Z<@gNePA*iO3@9tOVMqW-yy24nsSF;OLtrcq+G5i4+yW|u4vB%pUl74 z0Z<*SvNR&Lr{9uNkw=L||@wK5&?PYdDmrS+r#RmSDRm&qg3AGNCHCP05=)t2w2qikHAf zsGeJ|kaI)+7?X-my@&qyVW!P!7S{oNfR*W>;6Th^zvREx4uu&m|#mBew- zZ8kisrXf2@n+}7zMA@|BBEZcP*?*iG7&&*z5G%Vs{wGvm2Q%2%NEDiPUG*C8j&@eC zX`i4jE0w`}=bS0H58}b6%_uRJmb7S^5m=)N*J6;v2jYNiviNQQ=QbxHdv`JTFUGB_ zBG^dF;~-YBU(TB}Nr)&BpHMqwxbk<_5=&I)zql(rn~wUV zEB*;KfhvI_<&4OXJ?(;bq}e}V1Nada?Xf~%F>GYC;t-MzX9$U5fidDjGdr#7X5D zZzu0CY{zkVaxjX+DUF#}IhR;!{<+2nnXa))AhOP_gom)_^-?g@XNA1RDxpF}WhiY) zNviYqhhRdeC+9yok4Uj-IH^06BRKOf(mRfF`^MLx7V91D>aIW+Eh4Ny4rl*{Dy!tB z>Xs~1y%59a8(1nuk4w+5W>k@~Vh&u$_6_l9G~%=2jzeq|vgE4N%NA3D( zCjG1aEs3pC6SjG#Y9CbVZP}@_dAPcVeTfm{0Z+FgkA`82rr&O3FJ~|a*n>;)fV$C| zu0c^d2mTcH$EIf4J2#{DXB@l|jDUD)*MfcD%+RZmjc_oymG~1SEk;1d)SR|gY_r?I zg$Q}CiKjf@`4-7Hr37l7!1|p@)oPXp;!U_0SL_Cz@dlLaN3T!xqXiFSZmZ!AXxqH7 z`(oV*vt@Uh6E@t5pvGsypNUK;Q-vm6NoRb3;lr~8*>5*Cehsaz(E*@lm-!@xsM`C8 zT6(@fH2E$4d1-?_LQ0PDXDJc~LPvQs5{sqm(uG;?z??QXhI2rTwhK2#(dVnaS+|BJ zE7#R+L07&!oRtpMa*twWsniv!;%pQz%qG=pfe1nHF!|;<*cbD})|&Erl)&fl7&V8m zKW_ty9ruOTn1?nIccoGl_$WVR_-bomm4J8yVjp+SQ$;HGjm}D9iEam5q!80pRm<>U zI59wf>DI6W*-dUVNYYaBBp0^z+7Uu-Vex z%-pO6FE6}SJbTf*qvh^z)LuHe|3I4;2eUE0Ri+7afS52V@NTf4;m3Hp6A-iQQYv0;hLz9X8BEsv2 z57cdO9lbvsn$(Zz84i2iF1tgRY|_a#-2@maR>Vqq>cyKt$(FlF)>)m&4(sm5=}eU$ zeV--|)gLxPov&$ow8aRi98cav0^%k>5tU@0z9t+~Zle5DUgI7X&u(Q2R$AczD4 zfDTVyUhru_MqNUAs{;r_a3_RrPs9(=M+SX24m8)Sa~9P_&dvjSo>M%);8UC(P%=I< z-Q~+94V5lRG->Za?v41`2-19hLfY6_(D`gsw-7EM=eCxQR6o^rC%Kvip3KPHxr%d` z#T5Rp7oGFa%GGKOnOAaD3z19#EKe3~iY~~ww58%F9Z=+Hv%*<8f3>dII^mF*+3Du# zC~7+N*OH1?sL)C z?2LLg5TSW%KtQbtn4)UDyxGBmhElJg7WOg&8i*ZE9rF}YN1b?LYdI{4*PyK5E!A4V zW{BE(#1{I|8)uc*>MmPNpC3g&O22!+7Hc^%G_YD@;<&odyL(}(j1U?rxc1>m;(cB_ zy)Tr0Rm-f&yg52=Cr_5aM)r$4PueOEX~i)-xm0CguIfX?($AAGemz6i$+Gdj?&bVJDLl@ zy9`GMLf=-fFof~F@LK-KcMU)c=bnJ7mtV3Ius-($s2Nz}Qy{!L_h3}~($l1zO6&U5 zZN+}Dh#}V83GQXYWXZl>qreY|H+az3T)2g}`+66zB&JO{*{d6lYCH9eI;2jG(zH0M z3{WXL63D6x)aVtnPE{QFUpA6L6dBkxvoMQb5!p`1I8Lo23E5rLd&82lorVnuWez;G z1~2~6S92nao2@{Z6gy+TVhD-@W$tL+7^o-+f*l1jyaFx>L!?ds0bzIO@@0WP@gWvj znmiRvR6X6ZTULp^YqBTkYYFom4okko+ExiRk!ODE08SEf*dIdVWlYXCu}ApJ`4&t3 zZpDKw2y?N>xL3mQLaw@(uD1)l5j4tckXMD$3(GpiU(oIi5tw%uGaWBf)K$mEc#8GL zoO%kSTp^VlAp!nBTPVHpy!Pk*h%z}#9#+Z!3QGS9`Hg)lJ6kO`OHAv(dXWheK4}5q zL+4ehzDjFjp6*x81%VJ&{N2@2G2x%K!9e_!E;00LZ?-Dk0r|vBkb>FsAED4Wch)z# zkW$T@=v^xoR83YowJ!71C+h85(Mx@?k$v7AZ@eq_TW)tRI>M>RY)s$ z9M}gXA;L-;O!7$0<~(9H;f$c@=68xA2Zl*r)LJ+4vzP49E7_lEYqSc-MtEftN!A_r zUw}Kq(Hc}5alwWpCLS)%mratyB#-Z+W9o(1f_L^8X={)pNXc!)Y^xa_;lIhPY{}7d zIGo_}r2vmK7&w{sUFc`*5drZA3{2JzpMHSBl3#qIR6%2TsM@~HlWel?ROLFJb~B25 z6f;M}YhDW9WCZ~~`C1(WE$v7}2;W@AS&Q=|i)zgy;L%f1($OMk5u2b&MRs>qt0&!C zJ|+XAL;(%1jnHD*i2AvObp69%*wRmw#)y&HWS>Xn-gJQm6PRbL+>p}|Pr#Y-x^K56 zx9j=e$z4Lyn9@L6%qYxl`|T0>@D{r+?DeoKEV#3r9HiMU%tot@62f`asV>cN;;V~) ztteGoh(+wPqM<8B>3-aTFg_Dp!l2OS3Z@v0W%4vY7LndSKpZ?4Y<$D4pbC)wLjEM4w4i}v z00+6je0w%9(D})VV!VdHMd&$HmP1}kTo{l#fNvfXa}OG_!`y9Lu54can&1L+a%-(o z2J=J$KsQD4BVBuhiy@QUCrE6D(DnDAa!`UmcvUi=XPj_Px zs`%n?)|EJr8n~*9(-PVa^bAAE({FsAQ~PVN2EaEvjBnbAmx{yyWpA+X7Dq$f$>Mi} z-7$f_q-amJHoo0yAmB~=UIC0;~JS$Bi)41gPN?0g6(y@=W< z^T6Kl`5oC-=(RccbbP3Fx!zWo@& z`>%SNt=#KKxn!!hQR5gMQsea^TaNW3NBO^$FUd`7N#A5WWtn&g|N4&=%VdYo1l77o zX?iVmUtEH$`U&Aj%ql`_-EOFu$jon<=&K&ij8OwFq>NoueDz5e&Tii2GAWs!u#TFx z@R6!Wg@LLd{oSewPWwLY(xE z+XFlr3Kx0f0y&v_fMp4@QUf+XZ4&fU3unmpG#Y;(V1y+buH(}%)cI`1mT4hD2 zLYQCi1mG?pDE?&aN_8G0wCA4zjMhP&4)3}ldYlaf& zxGxn9U5~G*rdc4}0!|+fFLpI3f{*~vT-*1PtlnfssA;M)zaUZ}waJa5quM0vJf?1j z?7;TQyb9k;RQf(YCoD+m_3+qY>2=1L@YuUT<6bAQV^=$u1&x*gpLC8mEBKm0RER`D zmPq*oe?&f|=OH=k!mEX_c7E8tg_9nBIi&|IByH7k0orz@5o}bJcmQk%^W6nS%W;X2 z16(rpL+{1%PEVVA1!{uoCVoSI1)XJMxM^h#Es}|b`O8WjC}mDn@UKR-pi#=Ty^9z} zi=)va$$sbf;K`WA6w~#*Spo#0Q6Xrq_4AX8%E;TOzbjWTp{Pi1O0B8|n^xdI%iiqo zY`v5*nR55!FBeqsXc?aAf*#Zd#*LCBJHv9bmYcA(i_(MEekdK?x@}IduVd2C>RyC*^rs(aF)yBuq(<3rO<=GMJ^U^+j*A% zjqH7G6PEX*z#)AB*R|fJQ`n>es14VU*rGHZMoK4FQ(J}9(AtD#l{btd0Asa>dBFT8 z`Q$^ZK)#P&LQAHVe7=H)#Gky$$gLujB*NR7AQ4`Q>p9fT?*lAQL>UD_*OzlxKE;^A z9q!qt2Ek67ArJtpVNZW&Z+uo};;z=oe^0>$Bu;+6vu15^eU1F8qp>N*T{DsIBJbd3 zN{GP7Lm_ko5LSq_2C!HQE@2yz8#=H_0{jWBd#oDuHdC*0Q>9sp#fi*~ICpmS{TkkaQO*Aft-ANI4kD<~ zPZBu_c=0tEpy7(YC_5`{@diMh+8k}&aOqKLkfehv$Q}&FIAjKda^Fep-JC3p84Y1B z{u#n7N(2*K@}1uK+vwcRA9~_(RDFSvEz0n8bgBc~^bs}e zLzpjA2LwnNr_ix}tN_6CrUYd^=rN)ETMCi7buE(g+_ksK|U)E750Q^@>*WDAv6GX`qqy_HF5PF0gsu zXI;XW$+kzcP}2eq06J9neP_E5 znVA_(bm6?$&~vy{2r04BBSLup1HSsGvlOl>oB>KU)cafC>-3c?_nxe_R$Jf3M~^R% z!Dh=)q#SS23h8IfgicOmeayEWRv3QzSrZWjDBc>iU;mp%aJ$T!G&u_9#(}}e2Ok#B zCGRS}_U=MeW|i#0UpuoRb}iUqv*A%Z&OKLP^Th^YIhg~uvjQJ;~@mi%zBilDfEAtZCPa+ys; zBqKXc1zA$1hsFV2vmRw5qqdgG$Z$`-qEmt-1?LRIXNMF;2$O!=%%9YW}K zmi}x8HA&sh17Gr2#@TWYHXrhlv?XG5Q)igNS+lmV<2zBO5LcylJ_r#768(Fjn6WAU z+uvnhId#c`JM>vOldJSB(L?s~MNhC9@lNIl|M{yVx(k$bI+Haa0yPR)l&hnJNVd$f zo~I8NIH+;d=s0U6N==fw#WjRg!&x1LjakiT?M$tZi-Gfd_9mBF=>{GQ&Kt7fE7iJvXLq=ylt)!`t=F{)swad)zWZH0NUE-rAMTbz)cT)e zzQJGLuN3=gF3oXeg!}teH`S`Dn*-BH>RL^jo*Et&!?om$ONBywSF7mRiIq~?Ds6$k zK^yI``K;*TUbd03Qu=EHzb|!IA#mR3ZS7Y|KuMVp+{OUnfOQxy&$@XQYk|9+GzvD! z9N$hX5;uQ-5|b|;fP7N+KT#-EgI9zGJ7mg-yq3M%-jGv6?b;%_vU5k^wS~1tkHD&0 zDRzeWc!ng)7R{M9R{KSdeD~k6J}gBYXiSdocni?rP!)MKeEa{s-;6 z!AmN#NZ0BiZ4%)t{wS`hv{CM`=@1nVN>EJ+3~W+z7@EhCs_DMxvB(3Du2F7tT1$;r zhk{Y4+kz2}oh;hO+uQJIwzqN!2fN{viM|!O=L#{?G`ULqwJX77RD{b<*sC^GixxZw zY0?Ym^<1Hp4{?Tw+aX+b4FKuT0*LDFck0 z#j(@LfuP75OU77+&7$C(bc-$TM~PqfQDl~@>*#du9VBgx@!2S$aGmagYE{{Ob8UQo zmM$T5%-dJ~SQ+63sZ^osIc)0COQj*4aJ&gU`f1l)0J1AsBmhQZL_wYzpp!W^i&)+1 z+z^FpRK-$-B2|{LtX}Zg^cm%c05Ck^U|7{GmXVA?A-%MNqg1R1MGmEL8hTKgx=EN4 z$e}tZ7c4z{xUJrC0^?B;07g5}gz7r&0D(HZ+(J(&d`3Wu^Qu-jQxXV+>1vLg7FLw~ z{1y)Y)w3j-JxbseuU;YV8l~(-%{-O^`CeqJi3dzWRPmRZEk}iwH-}-!PW^mU@SCdh$DkF2(sr0@I;F zWb3|e^v}C`mM64;iamr$R-|J ztDV7FEWgE&@>`!Y8H6n)533)sOFfc_Yt;2%o~<{X9C)5xG$w`;%wy82G+%O-=!gF# zK%o}cGGO3PM?NlhV=teA{&h2p8a-BvNdJ^GRlPv39`AMxMgG z(#P)&6IfAyg)qPHoSe6)J|uY31R)s_I8a$dMT-jgNquam=3B0(2NrL_Pz)}o4u2Zm zr2exg<-ypl;VMrYlFXHDyM)2#?H%*8t<2r=cfBSxDx0`J+mh9Y&}$(Q3{8HEMDDrH zl~wrcsIZ$eW+FpI-y8eQ9v(cL{ZhLUvfs^M;EnH<*8^^}q4P9Xzv%$|W3#x(@b??) zl&~JNI%ZT^#o4=*|9aJR6{Hxbr zNlMV=k$t57CJYZ*hjy{O(T$=kw{|G>H6AQzx7BGJ(bIh^j19yo|(IoMr&A` zl0O_b5El(cE(H$eA{HZS->rumnz{3JuC~sboGeYQc`K#i+E{fIk_=pq zT$T3OgmcUZSN%y)Tj%OpW3Vtw_q?v(Ukom6F_=YmS>Hek0}jJVaWt;5SDz4=$+p)2uqNup zbdY3-0AMG@i?Lcn8)_UAQ1da(eM$~Zw1l=-OMKeHl(y}nW-Zkljtt@1TgCzPA0=~T zCh^WRbxSaD>Y4yn)&LUMnVsn9MlOS~p+*PIbnx+J8R2QL?xU^X5g1IJt!!x_+3S6g zGp(NF2+)0{g*w}aPDWxO>hPGeNSB){g`f0(U#nrUrWy~F@X$>u6K)2rdw$GQ8c^|q z?PsTWsr5C~tJ#&S05n%iRmj#Hfu1~)}Gc|g(|63r9#0mv6lunGZW6gOK9ZWk6$x1-`u48tHV3%o<78OXOJmJ-@Ua8fUsx3@cT@Tc5&%lQ?SqM|Zuu^(YFDY^C|--S-j`(-R@$P- zMH{8VY5^z)LH*3u=!N0ve1(`a4(u4;GTW`(Xl^RfX&Ul7$I3rpHtB{G7SDk0KTbZ0 zS;VeC2bVmb6NS=E`$R}-(cqYM0Fm}D&hc`Ay5`acd}m9BOd_`D z+yhvDT$i{cwxI%@d5gWU`AxYoN#Ggm{&ilG5@uDZJk?4fkip#0q#7Ghl0}h1jAFsQ zj1gcuyc$yo9Q~Cpc-@ICR5uJsoKtxN_*IZi1C(9wA&!&x?ynHN!u6<>i$vtoR`t`f zQq9X&e7MOOVjB9^*#qeoS6JVg{WgPTyY8Y?D(c+I!6@IE79)D}a`i0+a1~-9b$D}c z#XbfhUScV|C?JkyI=jY(6E207+XW)@H6z$(54{XIs!Wu42|8!?g07Ot&l;kez#nec#GlL?P_nm8)FE}Sz2|MC2LB``a^&yqs8te=#B zIWxgZawJfXW4%IE4ZqRWpAS@oqi5$mI-%Kcq^aEB&EBC8wNJL82n?ihvnR2lwE92@ zqCjNX0dSh8G1QPN({HItNjQ3ey^_L9TGxD`ODSif6nW=?DO56&)o<<4w6eOHfREue zjppiBIlcPG5?+5s$aXsut15)|DAi9ku6E;%^lHXRUQ^hb!&WsYucC7^ZO9h>^q3gX zP;@MeMvIVYI)yRXuv-2*324_JX8lbJQE|iy6|oW79VyQ(I+IDWfoC%5abKWhQ_@ao zJq|pQS5|OUS-R^(MxB<&v7C4f(}Lz)CUP++&kblHOgJ2dxB1LF{%3(SMq|rF^9{7wtJ}p~ zzHoQUvF&sWNH>B7mmx+&1#y!O|ByU1;;Dbl#8b8@o#7V0C8~2!w(?jBd`;4}WM^J_ zj51-eT*m`cs|w&T8_R`hDx1!>g{{B^cBey$5OOl}g#7Wx(Qvq<;L(upagwgxWs~;p zRV>FCFLD!!=!_Do6;U5wRAKR}D3d-$%s_H3F*l=Ws6?mQ37oUAw@(PLYv~Fl^2YLO zbolak#(f>As#Ly67dd7p3G@H>Iu9_bs_X5aea;Ev&v zxr_aAb_>4{)A-zm?4$enl0*v79m2&2dd~-QU0n`ct4_Gc72n3KEd?lqogRyUENNKK zU)W+;Onl%Nu-JMF&<(DlEPK_#Bs{6#wu$0E2V*u|wqKHG|}5^b@)`tCe`E3B4B7;W7$I&wYFvf0~bAW2MH~*~Jy* zMw*Clmb)+I$4J^NglQ;AQSYg?bkg}A*}!SKHY8ZBBU^)grWEdI-&E@77$B87(!*cmK%3<1!yA??R6k;7 zbU{|AL#0B9ellMWQQv&0;pV$+^{a#%Tg1wc;CDpt(czHOhOPNH9X1WR#g8kZ+30w; zY$`~bm#in{^|Lt=feJr7tO-V_5e~Fe>b^GwSh}{4iVAb$XiOxvpSzi&=iw(R9M6lh z`NL`qFPtYDk2xWysf?F$LSSAWy`;n6nld}26wQ$0t$RCUS1+@@!zeosf!0`O((Nlu zn|MQBL?s>;eO}!zuHr5WKvI`;5(g>Ye{*HQl+Z}0dsHul9%EOy$KaDJ9QSZ$+C)IbYE|Dl0>lKA`GU?PI zS^Gbvw`PZOo5pm$+i5ZFAsO+NvJ)!$$a@shy6KFr4aGURbA6=Ey8LfbOtSk&tWmMC z9#5Fx^oymc)7^?u6Gu!;JZT1;J5C?M$uB~?$+0)<3R6`7EFeSn zck0yHk*&VqOjJ6pgWv#mhEADoq}K7VP@qZ<{0@68npTSjkfMc7Q@&)MOgKP&awGcn zx&t|`Qxh}OKRCg6vencmw|kSJLjar#(`cfhQywdt1%|Nw4mfeP-{Eq66Cgt5H5I;- zW54|)K>gzFBhUu@2YPC|yMW!m<%bPxk#or+DUOfS>9p+8;ItH?M5P+xqBFt%idN`= zkKP=yc>gGc0L304*7;g-1hOzXzWvoH(E&aZav14C48rIv4`E_o#p)$=((b#M?Dp{u)Tp;~Z+>Lrho#s(#|i%rP&MNAlMu~anVAt}_x zYA6*10a!EW)EEEBQBPef$>6>4kIj?apB9nW>^J+frM-kwgJGi!qj1sXw=m~mBusL{ zNg}-FA-(hfk~8<~H&t9Dl+tJ2gfX2W@YyL6lD&7B5o%eENG{%-&OQ`qTW$@e#nZJv zw2p}K?)ze~^|1iteX_^5)PV_V>I@g;!I(9dTkCpJK?5jO7dFB^UrR(5DLAzM(---( zVxHTC2-qd*dlC0%l(N>pj4sAiN#G6G6~74r_Pkd``Lb^M-U!AMtbD0?*e{!Ol^M1(M`&RO9OL? zZAqndDhqst6G5W+V(Fduu&lNyp|)u~SnF*u_AE69 z+44CLiC0|O(-P2(By{D93v44d#Dcu=83_;sh;aCYY+s65CY`n;UIVtep9f)V*;hqU z9nG>_N)GH+8DdEq#V2uKlSAa>I4wU4cB6juAIv7DAW}Diq2(MIW@$3d$3PmX zkAcf$hgd=-bXisDI9ayEp8;-zd(x@@|4JBDh4T4Lsm+Cb&`6Jr|Z9EKTInq z?(45}K^&4-*36F0`+#8Y2WLlsN6YWn9oUEzp>*haIV}^;TPjn?3?})hnIHg}ltxez zwxEjf+#C|k@BK9gp0gzMciod3x2F5waD>Nmc=WlEb*Br)NYdJ1c8*S!7Ez<1mb%e& z-<09{xY&v0!esszkBSoOjCQ)wjmpRO(r6_q@lEZbCvs(iAx3<}hkNfM1xol@+#h}z z;~Z)qlWvMhny>)W`yOP*CkIt8$r@yE%1$G$Akn0U!0)fC4TLTB5HzAxeR@OEsM3C) z^8!GF)RG%iL8GEi3=i^pIMYW1SB`bM_4tO?i4wr7$eO zn+}nw#J3%FO%7g;#sQsfeHw1LX*Woj!3hs*NV^{3;x>VL#<~U|Wki}B^<03*(ubiR z{+N$lsbj7`J~)blz1CV$bC__5cqaB^*FnOSia4Sj0<$_c@*W}X$LY5aOL>cLk+9L%GiAOGACnTX*A@R<%srgUzCjOs+@Zahm#6uwf4mOi@C$- zt?kBOLrS)-%u*3y_*w_8Vrwy(id`R1Q})^RnY;x7Na}D$%(51|`CkZPk$*!dl%DD+ zpp#*D5;BgonLUnnDtE4$QYPD45rwGxel}eqI|pev5xO-PS1sH`Zx;j>9LJEH>#_b90#>8txn zLlA87bMTIUq-rb42+6CnNOYwlgN-#R)anmO3pFnZyKU^zn18twipq@1j;|sWi4xEK z1}Z%PLWn-d@)U(#O>9#GkK+M)D~0dc7ZII!&(K$WBIabVvt?GW^m=HD)$*%vG82~+ z>gu};=Z)-n=>O`tWg7;$P~zmsYOm!WPr^FSE^U=dbYz6o>O#MiZmC1e$=U5ymvB@> z=D)iMzFXOs!kI70yT}J(MfuK~!CkOqoD<2rP7V106e{lEz`Wvb*q*q#F*^1NdDbtt z#C&`;JuBN!q+@0glOrD5N!QsWcyYT=Xtc4^Qm#TgzOPkBQ7G2mf+rogb)}k4Utau6`g%u8BGKO`z}AZ zjRdVw+7qc8T1hyS%d1?ghb{G~U&!Y!`cuyIEwvvnPlD?W;fbb>Zh7AS<)kmZ4JVCC zzBG0sLh1gveObe?N8*WTQmXZ_?04*A#k`dmYIs&vreqILJ2eO3zkLYuE*L zn^EZG0`^Ew?$EUe2k_#>8b0lyW{ujXh=5Wr3h;=ZI__phQ@WJg6>R)Vo1$m{b1Z1s&7C)BrP`~sS4p@+ zPKd2E*$rU-sBCj6ScpQK0Y5vdkb#gHW)k*ODiCCY&dw9r)~`4qMB1F5C)EUm_`Eul z>Z3|{GA6D>rH94Gi%g{f8<@?PRo}19VIGB9%K9(I0V`7}j!Bb6n$MYD@hMm{rGQz6 zx5o|i-(d9Of9$K*_rT)-neGfQT3kBkRa}^lPzcFaeWo}LzTO3~Jw}}#f~(~zDPmp8 zNuN7%zgGWheQ919yT&eimB-WR0@GWL`bd10_vLh^GjGyPTpOU=iGo28A=6vCwhCo ztsZ?vWfYR;{>iD9xwL=NN>4GBOR=D2TVEb4n9KrO%9=4>;q77ciTHd4m z)f=7{oH-3?0zx~jL7YffNf$~6y){P;B4(hTtT2 zWm_-sF$q4N1wCCtUvW=PtxK(^bB%1i(H3$NZ*XA4d5U<9$XnzIbla1NXliBa$;nsD zwPJgf*2$(Bq=Bnrq_1aOLneUp7os;DV_vEF3_25D#V@~`gdP?B9de>IBZXfYdAvt9 z4o!B|>wL2L_pwJB;Fk}9Ra1sLga_A5c?<_i(p8d`hUNm7P(9!)t5|TiNp&IJ=OSol z+paNtK7_k&uM@6+yg^BBh0ic#Bd1~|hxCj$fsN2CyTbYvzdI)(X;V!u1#1iwbS)oI zaKff_WrmxNBwIm@SbNf1kQqQF))SG_x%pF!or0C)w~2;Nk0WVn1*W(X-D;un>5s?rC#Mk^<52*)2{W)rTyQ}hO&JBc9sj;>>`x(+J*m9CtkzE(Khb)Vfu zRSOm_6HWAh$_?&v&cG$>veA=0Y&Tna{zDpf(>wi*Ag^PpQE*qCDLfXK2+625l_Eaq zEy$A7v+-awa@vRyuJ9SrnNSYaTCHG65G-eU$R=#F*<9NT3hor-+=r^%$+%B7pSCT9 zQ6`#jEqdYouBR%)Bi(8F5>r;ZxS=D-C}r8w=9b8YwZhLYT1<}a*lQTV7l7I~v_EowhIcF>47I3Q}6Ir~-KK*0wzuy(=DHmd2mQ^yIk>V~N@5 zV~+ZRMnNH@xmAPw0lM1piv0-dcGR}!hIIRj3}^D^s1ueOo=Kl}EKS}^Vb9+FZ4QCo z!wFflj)H0i7m3$ACXh{uCRgiQ#5O}SNF?Aa$ez22^@i4B!_CfPR6&%hA4f_#2^U>q zgB|ShwQt^?zmP~n3~Dy-3)Rec-mk>yfL5xhV25|h^9a=)`f{N)MbJL>jjopr>IN;3 zFFVxu1oXJ{n;Jv5s03zGH_{DGg-awyOp^wtf$<&k%~0k&k6K17^Gw#FqaZMf217XX zy~-?)?DAOz^Iq$)2u}6|=fkKrcvSgy$w}V{4i*zFH;DwH0-V}{*i8uU{JqWxh%&jV zB$R}Hgx<4Ms=(Z`-UO4VSO@#~6rbc@0P^q(2 zr4j#+;3ipF1OMVPT!$g_{vGfFRLX5!=Ws3_A#`U$zXI7B$1 zE~-%2$Htv#N>^ijZ;kaqdvKsX#%Eru67AK5q^SKdEdJa))^?XKegY=)@`^cWNCr~L0tyWCHz2&|M-=1@A$Tr+Zuo0z2j@H2T zwmNy=#Vm|mf@Z9VBDDp-ZN&8;pIA`T;Y_4Y{5Ho{*z;7YEG%ubzG=5@gY`NbZv$E3 z%%tssOw(b4w!ZLeElkWfss;J+4?8B4brzCEw|E#8lFgNW)zw8wQPM>$Z8M)+tED;f zb;6_TQY37i$ouWS0LRU0_<%pAZO$Jfo_(ByR?v2FIKm}=VRy0nss$xHuwuT^Jq~^{ zqg<>((xzSmQ?j%J1^hUYO^uykCK}UV>A?{PhzFv~F_ZK30u;``qw3^n0I#}8BPjD(u4_kAk!RC&{^~rEGBFzHn*T|7b~sha_W6S$$TC$E zZk=Q2)!U0W^{t=62*VMie~R>raBXc1G^RY~Shvjt2TWjT%ZhLoaT_gWz4Zz<5wn+= zIy(pfPEr7T`nVg#OM{rV4^f~NDI^r5MK0V{j0@8|Zm{$#J4zZ7etFB`Vb-Ct97%ev zm>W~2o$6%x#1*lcGJh3|+vFO)_~e%*)+x`pCt^rqAR-}K4x%Y%M>nALo>{2>2mv;K+n0W_=_fi`q15Ng zIxQMsSyK>^Guzg2Rg^qmAIX2$F7l0;pzXzUP7p^~H%!vEl@AU>vwH((7*T=0 z`@U!g5^)X5+;bu$EY0=4%0Ac89myw+&Wy9>Mv(xIKx5KcF@Yfc6jr41L(;!>6!eDB zZ^s?WOoZ1PT*!)d=4M&Yex_S1jB9(;jas5tA&-Wf+|nDl`)2uL8VO!bg=)AcnZzq# zubczO&U=LmQ>!t8Tv;7l+k>p^eSiDInf5H_NgWN=#mO;7;q&tToF>yCr+>d8>4Z%T z0fm+~#L8vBPUEHLyh$NT;wcMK6 z;EXSPTGBGwN(@%$kik#*=^3(!e*Z8XN|7E;?m`IlyE_k!_iWtm?Ia<_D0o8LJr$2PL{fTDdEjMJN;o1dWhZ-GBx=Z&dj6{DPl(Y= z**zio!Z(QvWi2FUZ=<%Ho(?bS@c=-X8(wSD@_ucwAS7{3QmsWSk|w5zKudI`=L{XRyr}$tBRQ(?P_n z;7=XtiL6dY!ZS!?m~T1r&x&YqQSeK zJAhT|3SPB9pgfdUx-ih_Z+zzapMW2nHEEu(%%+9bRe*WuT$2B*R7y%y3}lHS;jG?v$4NOw>z6Fx+I(a8Jgh7T(te9 z=|Pv*^5fs%GQ+C}>x6`kC&)9LjNMY)Mx2K`pocml-q9UsD|DBM6|^d`wDTnAlccOUUNOb%Zxj zEwf*F49(3;uihtK4Oa?vbs=0&DskxedQ9k*7;x__Eg+pMAT*D)DEJ0_{YO%3l56NI zA3ENq5=O_~jwcfsWJA`9)^UBA)^O9?qVwzp;Uhic8$;C5?Q2hsW}k?;xp1rq(paVhy3wh#EpXy7m*2|L%4T zj<^+qCqTZL0D!WzLnqb3=7UK9Wcz1yGzufo@Bwz3t?g}EF`YY0ABHskWOyy2ScaR>Hze3 zD!KuwMb`SC=;mw82DG=*4hj_wLOWHn9%kFVfk3_lQi95m;jZf&aVT&v<+R(-1hGN z6`&{R3P{{5Be*(zo%MZQEv>WeObMt>4zM;BR_<5XM)989eG%(;aV1sdHi68>TVWIQ zdd)ULTW9KVAA-9OB>5*joB6h?jz+yQ#`#xJ-r9l_=WeQG)tKwhlkyHRKt(L%CtHi? z@op|8)PyS;^AOM82AWj%M8<_=fP&9boze%sk98Bnl4X_*sv}n4!07dP(O|?_3N3De zbBn?bm|-h#mSCd+Sy;V;l)13(gj@0Gfj6_$@bQx|pB7wTB9T6VKFt$H%dqb8z6E*m zK~6?GXO}3Ek)L)RO6G(e|I*m7%w^69My%O*Y)J0B584L$Vi~Po)bwY~<5V>J2Zm!7 z!U44NLKEiWia)WSfAq`ch;82%^tDNk?H%d84SbrJ3qy8BNbj#;AY1rEusKolhbwI9 zs0}>l--qiAv1pQ;`Oxizk}I!J+#_BVDAgQ1N0HH6K2c;)3^o^zEQX?!mUXBj{KaC# zreqL?Pm{kB4Oosj z2!bPNjitr}r8nl6Equv2Sw9#H!ncrK)OUoK&nis(rffQ1n7(WezA|3rm{3ts0%v-~O zo1=P%L+@lmS4Qr_Z64bw>07TTy^mY^TZy<8kV9qV=p^s0*5n+v$~kcANDz9(+ONN9 zai;a({&Vv9U)-qR6T^5ncH&t<@5ww{vezi~O@@FcDz7i4%cdskY9(59rYWRVc!kNj z5PKXt{@rmHw3%O~kq*?82A%nR>(ZOo@H*p%>I9K>rWbsDKbwKg5{P#SrIevgKA zPqGpg6P(n}FM#CDVS)rt!< zrrFB65Ec$19qm6$XBK%N?Bv?r`JP#tPSwo_;JC+ftG$L$WVn=;l?dS>AAr!0=4;sb zDqPHG4vM!>uoAVlkN9=hb8Rr8njiMX>=MivYUY|KXX2f+^bTv-cfOFOT~@P(2|via zE;LD@ZK1H(ZeQ}G*MP|F7h4>+{+oDAZB#?CO`7mrU%HY{!=3JS+XT6AqTZIY zoLH1I6xx){#XvDxpzOnUOFab?fwrECUZ1ta#SedcrVnCdKbx&9)`bJI@^ zXbr#32bAUh3%KznM z5qpbw*vl_3YF2pC;j0j=53b?9?pdQC*;Y;F!WH;H1Ze+ZcJOAADHZOcX5Umv#jQc$ zu6xh8kY#I+pMXuuW#-8m{)Dy&gvHs6a!sp3V1+QHi(tYk~R@9P4|2d z5H*>krJ>b*wt^#`eD*bN7RP#IaO-$#KyC;065~QVWkPRgd94T|lJxs4C-b}J(Bsa$ z6^2n7=@}!4({bb2$6b`NWou0G3pSUSji__;XrqL?^|1fLAB~i&m)cLB!FU>=j*WJF z3d(W$LeZ8qwK8o5k~pHF0IGRhejanJ^!)3ogOu!eYE?*X%m86rvIWTF%9z2@;4@=c z*VUM&@73rH>s~kx@ErRRPqe|5bJB*k6cqy27LM+ympn;W{cxRN3Q?$^^)bU{h>689 zdmNVY9w;}GnzG_rQh7UlhP^4thF42H4;L!8?FL1JTU9P;>h}zYpaD+2S>RyMPt`ss z4fCu+x_o_TQtx+Fp>iXFKRR!U6+P^AIaAt^jg+)nJg$OkU)!)d-9UgLnRDdHIex#_ z7kPIG;0x4%FZ7^@8?5E6zb`f+fL*%@`2L~=d~KG6%*#C5Rkf@HQfhYzEQ)+OoX@V9 zRnZ4YQ1c?kllN?Y$l%vdWm}gO-N$$r)q+YQA?S~bo1jJ%U9%-ON^i^?$3M@@C6}DN zl()~=T6R8)wu=16pi1i=T9uXAC515maBo^kF)qOy<-b{dP%0M5Krt9%S(;6+nWC+( z>baO*$V(}IV>V@mZ8UlvD4jv-dl-72ut@1VvKP!C&6czsYO(T-E`x>t{8dRHX&rwK z6;XkHQFq(NoH@$iZFsHsey#5hhhJ0M@`p7e3CY zZu-q~h<}CtqrvDIHFmSnXGBbu3tw6gRkV3w^%;08n>1l2^%4*x%3h&qQ__P|E0?9# zX3W-ik-xq5l)Q^C8=6+K5w^N@bv;H5c@306+-UubCkM zXeG8akr<=Wzi4Qd92$tK3vR8GHC2!XOUE_`7I;8dhLS`1fsf4hNMrtw%g>$r4&yip z2pkLSBrd4r#Rf}lB63$oD+<|@m*~7D-~Av4Qh%vm3C4Earrmas3<>H=5(A4dHZJTm zG7jzhR0e>CyL7yukoTIB^Ga8qzRc_dkhL^{j8;Cp3P!@(bkA2ywT*HMo|RQ zX-14*TU9=&E)SXeW-~Tcx=VK53ofp&La2Uf`2ls>qj=l~OPL5)lzyvafR3B<1XS@+ zTlHaMz+V>&<+J}249SP<&7;ducHLXGKtt>lL_)W!$QgE`j|JDEMu{X!7p*;x5-oQ# z?b24x2#M#03nApAFO}u(Vw)z7-1V*^_RRZP z9{eTn;*EecAD4oPxDVIu@uuwErSLmkHQ{o3jVOjMTFlZl=0KEl(OEl&mtD?fJ&LO& zt%pRdY0(%fCjUF136obEO~r9nAcv3DT7EIeyHN{s-@JN1M2uy;IuARv8U(8|3?&p* zsfg>JX~ju`6la!7pbX?Hpt0&zR(YRxUHTa8sPJbfb=7mYMyqW6@ZEFIMD$!tNH~;+ zDPJQNU7#L(2;0SqAM!LIgV?3%#=PZ)OC4Sm{cC5VnAzpSTooTKA@CMHyO@5Z5&5{M1Uc4q%A2TS)ayE#XGBUcX^}M@JJ2t6E`$=<>vC1{uOdKp(9%K7d!&&eXz>EXN?%U~%D+SsrY$e3|c3er8@`m5aPU()+APa-UuVCo$ft z!;En0JyEQMakM8f*m6{B93G6!!uOqi#Vk5?R1i@oDs*q+TuRQ8B)ha=nK)9k5GOno z{)$`&@}=jRpy8*JWBk}L(9%ou*@I0t;W>H_z&RoO`)?TPf$6`pRIE{*FRu&sA{a z;;Mes;;r!ikN8w4SW~>jC$COHmq69pJTkObkYI=zE?l^kCn7k4B0*3 z%6nL1tqWCbV&O9^Y3rkmanw(i>j1Z}94_pID(Ol{uF0+@vbYUc8$>SpRB8O=yVkJKT4seOuvR*88^H4H`dX}L1{W)c(~Z<*y5^n zM9#$*5MNz%e6CheT2nwIKdjt)k!{LcDr>J&G|WBwAwWZH!AQ}{Q2P5VbDF|-rfpgk zO3D1{=-r6HGK&T3G60eXrvOMS7&vS6cjf*~9VTZH6s+B)kc}0(O7S#SZ?Bcpqm;Al zm`#&Z^3LRZVTtGh0ISnY5FWBt?zvR8q6EwK)t? zs3WrN8cL>l|AE3PWxIrhqk2SW2R9at6bs$tr7VwRB19=_rhy-*jb;gZGfilC~M_Voj1W-{^w>Ol`Yvfn{&3;wdXT9CG_}qvZzQp8vi~ZJuTg)pV^(F zV^+@6Zrj!hIPBOYTO1T0l5G37)}0DDV}Sf-0_T=HiU}x_43c9!*4kcIU$Hkc6_g}9 z01e`_V-~Y0kxU&++42e&=kyL~Zl*jj9^tmM>~l~KqDAvaTaPGX)NBE!=i7+1IgRwC zB4Cq4*l)kGPKt{0S9tS!hlm%7fUR=KmrWyZUjNj1q%ojSttNR?>$sIKUc8ns42>6W zkko1k zTjw)DKjR+2cS2j?ABp}+h>i;9EbGg3wKTM! zE0l+@+1aMtY?lKhk({X=CZL5D`HB%g<+6js>^q+xc@FCrT~KFGTqBQARD?kLSd~xQ z?n`X;^}y9CZ>;%L}dSP*Asd3nd~gGQsgz0 z@Qe-|hCq74iX=V5np5Z&C%^;K)?f3T?|Sh3e1503m4#?0+&oB9rJN|vEJhoiTf;=l z_puTVcq4Bu>%*a67ZXeNP75)k#s)xCNnFiNsKoG$&@PQGiyL>O>2Q_vV0D#;hBNlC z(1{8CWngP2R5w;urCxnD1FZhlXOmmoHxka-hZ4P^$$HgHMTLqo)J5jg6_Sb_$70P! zjVgA{*@sjgu{STclyi3d{9>C8y3?Qz>H?osN~zAO9l|^xwVhC^QM{iiTcG@T?WiBp zWnBGi=@zV=R2m*wv=(Hv%Xei45(_I2B*+wXdUe6kAw5M$#D{}FP8iMdnp0YU%Hy zBOiQPJx7q_7tc{b`&k4$3pGvz0>(hYHiqW zXUN1>gsMG6i=jc)rynbMP!tPd<@g1$O~v>M{gf4O_%Mm^7Qr19GUmZF>m4IvE@Ty3 zLKYo2yw!8+BW11Rltmy((PMOr-16w`hSEZMCG7LnS~3<2zzabf9&@Q2{IO_XFu>!A&~hp7q8xR4Kj6z zS%;LDI%L4+RZO$SdW=z>rb57nftxf**I`3pP>z(dCc3VOhq%Xti$c=#(# zY}2WKFj<0|QJX|ncuFp!xrQ&?wEtcQnw>Y;Edu(kH12`DE^9BfA&U z(FLw_yWWgV0>4a(4VM5!0Z=Rtmc>VTj#Rk7#l0L-YqBwKv{HQ}k}37FZnpz~4Hr3b z1A?CLAe>d?mb%Vn9Vx7vergX6vA1cajAY_3((fd;95YWYZts9`D)9I!xL2kBsBjep~ts>XR^iP&I7jAPSx=X{Dr~=`&E>$Z}T&2Em^j%fKqkPVg}G zzfj4u3Ii6p2PfI`0)Ga2!crCPY_fMH8rCNiFA`VefWmVbV3Rr)v+Z;(IoiHN3BZ%Z zt)m1JnoDGk5U#*!t=HaWGoIz|U(se9ol=*-^9BE~%`1%k^~OFYG5|yCRq&Xw)zCt0 zVQ&NK)q8_~qB)Pwfrk#SL-A=fD57=g7&%hIvsbCjFAG@OpaW*70hr1*7Lv{@IFHTl z2W{D_Q*{GAL)ZD71`6qbm6C!we+v!+XrP1IH_$nM9|!R3mlA2v#33}4&3#qLl zBLr6x?Vyg3=ODnjlraDejuHBjk?|DJ9TUw%N2r22a;Tv6g3W`d>A)9wT&-jIfz1sF z28plcR-rA+H}~W_Jke-G_5_6Ot|Mu(qHkPmFA|2W3ZPa(+qqgF|K?^Gw=@mp`V!_IE*98)Ta(-w~bTM94SBrYU{)#34;1Ce8h4G79%s%2*u5kdwQ zN0t62l2YeaX$aZ2q=HLY<_cly(?yv37t*#H^ZIceB-JR;+3rF|4y+6N$A3Orl-6kg z)5@|Bvy_6-X@DpVSO>-bnpDs(fEH)*A08MS$K3UdItp|v(L*oWKj!93Q0oJ)G6n zKY)Tmjw3zKDoXTCz4)boAPuc_<4b~K*2-2Enj}eNRtINzAvE7JO9a0 zZK1_AY6i5)6>Qh(lpW5GIy|G$&r1dwax#0UmJwE*#H#aBXENmE8f)a`wtk&%{EJ4Q zh6QY+8wm?6XX`o~IGehHNORJG!=GMZ1sqTsOo_this$;+XMb3t7e3lWB{NN6c02X^ zGk?fmp>r4SB+%252Ul+duhlsMSy!9XtO?-lQ*LWt6&+vuBf(lo=4{zRQXkl`QH$ka zo)sNtOmzK0K7LNz&XWhk1L&qAy__+;0iEE;%M&Uqib?#x%2lj+`(as*f_eY%o9G~)dsQ8Wm zk&Iw0a-3W&{;#t>tghi`JewrnTrzfWXX;J$Uo%G(!hapHgKmx zTE*-Yr;A}i!2Em#4B}wDJh;=P&`?ER8)(T(7i!PM6U|sz#i%+&3H5TKqZow&+T7(* zj#Y#8y#Tz*9$>`5Q#H;tD3f$L{COEK4M@5Z9JAmh05)5Cm$m`T0UN5$3)V!ofr1)& zN7iFsi7q%vfDh$?3D>D1OW5>w7PIW(aqzx3r06ojSJP5tY;668S8?Ei2nj9$n5E~w zhH34kUWlOeK`q->#&+)Ih#s+mPlb(k=9@thfhEy#Kf%LdvzgckqS5Exj*^@!QJWis$|EQU$Tiv7tkstILdG+DxU z;c;;xEld(bH#$I)Z*;W%Gb_OT%HJJ6fJoFpQRvex<$Nv0l_`CW45egVNP13?x}M)v z(HFR|SwviXp+IY7va6V|$93#HdE3TP$4$|cU+gMO#hlCdbhbG*}|+s-G*Z=I5pB+Q>w^ z1$H@zy|g(%SDs;u%)RNE)PubFP@0XRrJtcsD3}Pa(xX-2)pt%=x+z>~vx;;^xQbJW zj6%3@H#;($^X;%Y+Gn_mWqt{f&mxm83odpf?nrel?wx(E9SLy?6RR7p(3Dr(ajnvD z#q<8me8rbDZ(nvb&x8rA?)KL?-^mDF=W;00$l#`?S6ipA$YBcUgukdiQMR08sc?tT zb4fEN_L1AjQdFoHPxPK2RE-Vc<(?ihR#Sd)O@6y#G!KL;XHO9rW0B&*yY9ky;lw}A zY|eu0ygOjZcz!$0RF&8FvC7AKm(;S5@BzNSY)T(gd#$uInioqdU?UQVOg{Gx3Q+0s z&xtsa4(cG5B$MGIk($6@B-hJh-KGM-&aig-m8!TP#{ECqqYF-4Kg-%mjfJ9Hhth2q z!VU}Td&=wfVn?~h(i`QhAP+7VhhfRs2;_J2iPzj9jchpDEb{IaMEAl?G((qnRCyrL ztwaxMaVz^@N|zofv4_r7+HU(u3M|DQfI`CP48?|q;k7M+Rgo)a>cN$}?HE=;#*^s9 zckx4)cNxhpJ9}+48e2#^9%TanlZaPcOBk0EJV)`|luM5N&VtI)gYSTlNew_dAtA1- ziqyv}j%b#sYHnE!^c71y;1{V585S{Znv_MZtQ5%5iGyd{)o?oiG%Q$ot?P2L%X_sD z+L5w|kB1i`TQo)Dgjf{jFMDr`>BmY2S_jT!XH$KWBd6Ab1yeE1l$aEfNwqb6a}5g1 zst@pOh5r4a=9f`b5>~ONO&#c9jX59&V)bm}o)x=s6&=imQ@k}hWuea3~ zWG#9K*1!-v;%L7LDGwMO{SLtBDbALHG%ZnPt<^3B@@h+8PweGfM9|H7%pTpFxfPOS z#d%IhmQ-?tE2>#1t@5HdkntBT=9uyHoi7JEwO0Wc`US_Z1X^I0#!IP(n6N`UM zNrJi9&bI6buTASHcJjPr9?WQ!Oqq(FtXn|0R?bfaC*Y2MtqbbKWQO?6+v09b&IAAT z2&GyC1wAJSF6@az7(&Iex#Z`duv_)JKFGcx;8&v|VgKQ(svp z>_$tAq%^D0K9s$z(;rGJf05{b>FY|9ihHpg8gIi3o?0{WS6MD_5@r9v9c0FRxxY=_ z`t69wta(R{Buhu6&-x(EDrn9Gu& zE>zwW{dt$4s#wn%%A9)f(PF(yZDCZ>T4=o$W`Y2{7Y5M}#jG{k@iIvP*8YXQv==}0 zUjZA<8!Vu~WYMKQO9RzYOHz9)P*dmyFoxp}l|Mq&4A4<4uD241fdOk}({9X~HNz3F zGwKMj3rWRp4BBX9!Sa5X52N?+AyIbGKf?W}rx0lP+jM|iY{4=%_;5*nsDt zEwFGE5xY517eio-cJO%HU4KU%fc|nU{994y-y#vQr+{!L583fAsvVsyowc*I~XuDX!b;UZ=OyjBBM2S5+3_$Sn9&4~bW=eRbm2P0g)@oOatW6uWI zgtIppgzTtLIN7Pkrrf*X#!_Z_SuNQ7M~~FBv9u!7P2YsWFxfH8^9l44Z#c2EGXvXX=g0%(OXi>njf{by`p(RV~ ze|#(`b2UQXI!usuwjvrGo8aAz6kb(W5vEE_Sgu`)U{)X2`g!G-DqFNfh{23TPG)9Niie5e*`W-4xH_E@1gaA(A@SwKv*C7oO#5^CcVz9yomdGf6Q~ZsZ>2u+e_Zq!Z0@lJ^ga z2N(efCbDO?`7N&*epAzC?llwP*iZH5#vrRc_N%O_ki0vmTIUUQ2{Ih_ULB0;^V7^m z`EubK1r)cqs@*Vb}!xbalIDNseR9~K~L z(Fwz{Hb-H3@~69!k(}!MrkKaeTQCkLcVl|~(i(j9K@zOcdM6L0w}@Q7AU7^KV;qQ=3UZ_bOLG4Kg)_qr4CSYTdCv2IS9FR? zm-;4Q6Xlz%UWinzs!^u78Jn1z3|ZhKs}(i6Q{$s7%_O_6oA&KX`20lnK^qDovk3On ztoxK{wpVn7e{}do0WQ1L1orKYnC6?;g)${8A1~7s9rSBtD2~2)gCh690{E_xBW*xExqcdJ4-P^ zc41I-#ycJfw&*w$6Ca&7PPaAYu%3{;0b{CB6h;?6C>#9*-fC! zY{AvzoIG`TNSi*UI48JTc=T*XWEk;Id3%_FU&XljTSqOo<`g4_Ts~fAVco%H&+TSN z{~|Zl+W!KYwux0c2?g?bAV4mWCdoPDsv*(K>s0T^n6(S3o}tf;s8}yX zzbZ1*Ts^3;wd^ENL#?-ZIn1zpK6W|JfCtMODW%ai$JK`L3)}t-u(b-L9}7rNK2$|D z>g(u8ci=9kwuD|6)j5~oG2!`k2)=okuW}=kxfxGFgza8tl?+$9^O#(B zioo#fcjqUkE9YNF@pg&>4G;b`zB$)f4j#nV+w?%Aph4X10%Y?}9;< z8jx*T4WG^?69%L{W~!J z9QOMIGt=l@E1&WhM=jg=Lx4xJu|Y5985x}g51)nXPyeVBA!Wz#N&yym4W(W!!scmEhU}4L`_7aDqmkL6uf(#==Ck)+m%&(Cc`+!))&Ms|nE51Zgqj8; z-w;6Z+52XFE0(zgH7F&T&E~03mg_V2M@IVQ4auy=Azw9w4~O!jQaqiEDp+vg+B zLg}7q|QP#3Vk5eGdx$E^YV9{!M z5kw!EV8TxKAc*X;mUtB<4v=$OlYE%=on>|- zuEXQD-a^wS7c-tVWO$bA3OJxhKtQBYC`VfGs&82YdNy(}bWh=KO5VS~)+Sk=@8Xv!xQ$^W}Jhcdq@gpdDSk?k=C+&cRtTBRlA0e9z?rE7VQgBz6XyC zWIy76{NT!g_JXw#!lf_rWM#D%7LT{jpSwvL|0qM{YX+#;QrOExKor5p*Q#(#5RI2O zO+0wem`wMl^n*ASD{>)jYkF<=F-Dh;C)g$TF@U}wxUnsfIkAtBy*{x_x2#wM3kpPD!P*Uj{DmKYTlRxhp7A@(E?m7ndHJKG!-;jB$i`Bd{yv{m=dFb5Lj= zPp1lc#iAK8JU8GLo%Pc9|4`x?vS1c8Ojl!e#FhRIc)-EV``-rukwVY74Ak+$C;GB^$p&9Un_lj%nMj|-vVZVlCH zCDBG>dS=JUn6e-#n4h^cY#4D5Xr@NMk3MHrHrPBP^MrqFMTkIFTQ0pVyjuf)2mP3dQ6Be+!1n3fQD9}D^uQX3=ar-lKoo}H84o{@yQwv5r~UD5^SwazgT> z$i^E5w<=sE7W#r8#@@Og0Y7s%i#OHg=iN`L^&vyz%<*z)8`Xf|P({FGY|eu>LU;vh z8y~@blnSa2jN{~S26(57-P0qB}NU0%g=D;gKn*5Pc%FyXVdTGm>%BoC*+~kIAI`6=Zh49Zy&~jij z$vvAwZ2VcvUp9_Ks6~VkbcN2tS-5P8YJDxXI~k#UK(^THqT~Hzp>)?VbESbOFw4WZ z5~M&isdK}*POe*GcMCB)mUy*ZnBv#fEu|ciy58YM1 zF-fQ}!@p{riJgGfr9anS%sRrWhQ6g>*S5Jtm8z1>c!962Mxd!ORCu-4dlxUYPcPZ# zd&DvWwOO~0#<48IXEx7gD?2YoqHHR8nAgmH_$i!N>?L)V^EoU^J}E>7gH_B^4Yq+7 zNnvmIGiz6uOa0ivvLfGt_TkitsQfon(%Q&bT6jw0ico(5Ao`C68vU7&E{`&QWxMa| z8#*OT8YZB;5$=;5Pls+^4a{e_djroObs4X=rsioB86my#Zi!R%g)H0IF&d*3H1H9! z3JQ}5-!IPs?2mmTO`1eTXme{eq>~x$n#niRQxdb+?xK<7V2~SFdB>yVgRyUlcgr=m z%ALZRRrB%qC-mqW6KZ&nTVu(Sk8=_ghblAGahPZ~OkfGgc+N%D?s|T`v-G?aWzx3& zymquzI|zrXqt1?R=Mu%LXqaE@(@DY$BN8$iqhvJ!YJU{36@>WpS+WVk9Rs4GC3zjg zGvTk34V32J#ZymB9P2COD6-gNo5P!T-c9;nNUvR2h`RC$l;v0{*#3zBiw+nSU{ZpJ zcPf^$k1gR_5v*2NxJ)20;wLqzISbBJ)Mxa=)PYEc^{6uuh*Tw_kNAd7ip{|Nj-Nt3 zQbt|xbQTrTN0>{66sz<)&JS+-*B^lYtBEF0z?B%d!&qMDq98ktep)*u`C|NuZ1(h> zbvATHq(ng`a|QxbakX?)rE==PPYFsmv$@gXUHKRm#2 z8fy4(5H;g0ft2nqnu3Nqd~Oxcp&6%^kP**fsWBi{wF!htH28{xY?O-<#m ztRZ<>Mc0aIznxdBf>LyeHb|7E>RY(0L=6|?(np?5F?BQ|)S)LV zSrc_-*X_`}K=1#DZXw&t<8~P1ri~b*)u&os@*0pjXsq&(?bVfgH>7X%$?sItqzFRb z+E=v7oaB`3aGO~R45>W zY?IB!?wma=4FBId$U;SOm@q=g2Hr1>HL-!-FZ1TW&z3YnW;2s{jn0c0jy#5uFNoMD zYh{$bRu#Xb{nNbG`76-%>`b2eara zpBDDlTjXqk5MDJSDweh5?SLhlBga^`vmCJH_%CxIk+N9H>a)f)Itn!oY-%aOpF{5B&-GAUbrRut;Mtb212p(K#)7mhh*6kx6BamuPH%z3;2&LP22|ES??G``0C|_RY!V$byM8gpNb2^RO*P^Lgwi%oC=I zEiVlkyK!}ll0okpAi8!DlKuZ(RjLW$l<(Qu3G)!{YxP$yd`e;iRf<D*v8iL(ZZ#ql#j=byC<(~iB{t+t#~q_DZSl*OoX(n9 z5M~U%sn!(B7^e}1=+01wYBh&b{=3?lJf6KAKD%DR?^qT)|-o)tz=c{OJC^}T`Ps&a*poj>yiBA{YkmF!=*no=TX zu2^jS*at)SNbdV$s=oL}*DIK8YJ*cP{^UNxygrm?pXdv#BjtQywOL(G@=#14EvFILYgRxAtf9Pc-j}kyG}kB))of1?HQwIX`r@cGkJCE^&rcqe z1|b?4p~J)tcm1o9wXEzaBMOy>8drZis9qEam@S>(1)iA0?VHh`c-2V>B1^P;*~cO2 zzkd~fx=)7*2|O)@g3-s@RYC@Z!c~h{EYb9>l4t2ggaqrWr;_xz@l82t*L4|h2)hC> z2AavP^;4=W5!0R}jM;OKZ*;~Q^5{a#YCuY+hKuQuDIK>-S6(xmX~*heb#G~M{EaXn zU*>vRuB!UF4;@4ikprS z3FJEZDiZfdgF$#uA1(ud5#=)UJ8$r(u zFFXyAiCKiw>&E~-@U2thAiylBHlj&5a=acd0ZIQR3o;e zZbZJgac{XGu8V`SYne%YX zrm_RHnJA~`Qlx0ZCqgYNNCz7@`MyK)^nrF1O4w>l{?Ai;auWZy%9<>3qG%{pQvl31 zSTgcl6e`C5OeEi^{S>f6Mgu$0F?w!P5#`~+CGw(rY(;y-@xVv56(pwdrC(NLxXUnWKSSZ`nLT>Y}rvuy54wqluJ(PT6 zvu+e_630$9-^FRQn%%uvG+g?_9+f$Jq5aT>d=iFV3-7Ynl#NnoM;1uonpILNb@{FR zPgH{$O{PZDN4XzO?iV-F3OSR&;hrHiL?cj&9~m3MQ)9lR#lSSSsku$G&=e z><)E$f+HJqNN5Kfbvk!mw6>>a&?_%=n>$GcsGPlo6~LNTyPYNyXw->Gv*V-5M}(&| zMW(dfnVYjADax{wf`{W*bJ<~FBG$+TK<7pAn24$B@J~V~33rZ^en{GVE}+;YnO5vJ z^rJyil3gG+5|SMb1EF99l2RdWi6YyTxg{zmT3N>On2m63BftC17govAE!K&eUMQV; zhUx$%Gh&E0%*KTM_`-q}siKI}b4^)H zprxIKm{W2mHi4jMGvdqSl2Ym)y7w+VjqzNGLOJ^{33(=>%MQ~Zdn}(S36A5WKEPRz z*I(l_BD_ch@G$AqW<9#V*=D>rvJ4HpeW-C77r34%^u%~PipI^JxaBigcGj?|Tce58=iUkD0ai9m;GIQ1z+Z9k(R$1^b5#Hn{jzbt(#(2O|B1U=87gn z{?lEriJSoT9U*{&;+OgWBSc=fx)u((=th7r0IDPN~q8T58JbGPT_t=L6D4VoIjDGm@|;G|-8T5JLt`8SXpk}W>*;p@M@ zWQtUbsK6sy3C1KBbk?DD$_zjDFWBxlpqiTl(jxh)V6BX3qLhv#h)ZeWNACr&r}UjF zlS9V9o$i;SXckoM!MrAF5{jpta~>NJQh-+2dx-Ln;IA)E}PAd#zze>9P(=M$4_G4o4Pp-##M=y-UIX;&oR!A0Gyg%W6ti-QR~7kPmC zoY)vR|C}fv|JE{MwJ)3q3SlXC#_Ca*uTx|v8SD05C(1hp&@XNxfYx6IprHukWiQll zgc8>Vj6^)KSv{K)-;`~boVb!rb9GV5i>Oh&PD}w>eWWfbvXO}i((&AtPh3%JNq|BE z954!S#;~cV=P{jH8so)cQ+USt>j)x9+8j4B07!$lN4b1BwKO^jcmT&2(DJKRt*Q2c zR)F6WIpA%Ks-ybm-+7L%5e&7Vt#y@BI(sE<5T~;cSQM1oZC|{g>dtJurZYlG+9+;|8u!V5w=CTTu zv>%eXUa{uLbKdpfanif9Bn8Hw9gm|;zx>n!W-cP@bT>Y~!4J%mNjvxfnY5zlvUT%Y z>?kC=_bCXOE7R65dM?6>s_aeOmV$Y=z0ICdcMq?l_PFqncNJQzzqk}s$VZX`zOa(D z{lFr(Yy@cv5(LOjru41ewcwE!oNTs%zI0F$nk}5}`Yrm%#qK0J#9?hd?su5^QoNAC zLF>xh8G#{uZXo<)B>tArY@*C{yz)SPC$A~l=xMx?)~DcEHu1$hdmd*2_WHVCH3YU+SOWkjV4deq0&V1!tqNOMnf1XI}MoEj3cg9 z=pqyf|04?R`Do^TcnAu;DZ-OVHH{Cgc6j$4PMwRC6v0l8FFT0#WOBYup!&lw@q5vD zp#%%kXyAH$zPkJt#ntSto_8D)f5;yqqDG6W+1Y<+J3Ed!9MScukOTft3G0V{9~Grr z|ERWT$!k$@;^edAgTDZdv2O%6{OLkbQMOSg_QQuTIZVVD;P_U+K<5hRk!m1=I(%SS zZzFw33NvF56?ONaHI_3p(1F9>w~ip;%NLbuVB|ygARgKOJ>?gYeJH~X`a`p;gxl=& z)9sgzAfCo8G@)`wh)Oo8VCEe|^Ni-5uQ*f-#~I2PPu6;I2T)$A&ayKS0%FrokE3wX zC(fu5VS8n>B$`8V+QvMuv=W`=uaB0nqtsE9F2em>;MDn^YE8*n6)}X`wdZnnivDQ! zmFF$eQ}mITTFwQhOa}B^;?x1*e>;~qUY|+I6@(%4L!>;`DQ`upfKCEJiHGWRNyhZ$zhk2+PJ=f_z>d_;f_#3h`4@iexmgxg*Er zguv3;O_WZUjURBe)=I27d1Z|ZqSNM1chVQb#%6Jk|0qwbjM28cOPOp@&5MOEGvchr zzV!425#f#d93Axbn*k%;U1{Xu;qrSjdLar!=gFpvY)XXFDClm=kt_v&_`F;)^N}+s zH+)3syW}d^l5TO9{#6S!_v<0?Oal|4N&m<-2!#O~t7CuE@afFy+6D)aEf$)>-sb}9 zB25BlIy0jE8yfDV%f%Cf-TL4SC0Y3_25)qEQ!yJ=6iT0=(ykrB#q-g45k#Z~@e^QG z9vv+-K8SX{?yQwHN*-`Ay^8sQFevEq7nwP7g-D5lDW}tRwUpfMk0RKA?@5_~able8 zpd5;@2unX66Qvg>&L6JO4JB5}Mx1#NFIedGy1hy6taSbB!dYqjDLE`8U*-*JU6h6a zz#&)V$}By7tp;)-ZjD>zCP3M9daeZ=J6(sv0;t=~jMLz5xymrIW*24(?T=9{S%T9# zR@s{z`uFH7RZvvp6_SNXa)4Z_LZN8CaLXk0x(0r&KJ?kvNljNtzYcFQVxnt|ywIYK zlG40?$3Hkz*}AbWt;cCWO9_Y0yfBIkigwDj!XPK_lQIRnlFKWqPo?|(YP;(US5ckZ zFcDQOg^UdHNGvC`v*Ty6j!1j_{9h$8Dvv}&qL5&qkQ}|SQm>n|06H#)mfrn=<4SBi zJWNNCAic%LB_0Y_Op+KHC2QY8zgClOFreX z!f(UkflxHKPLqVq{d*gCZa*H$VsVpzC z5jC(xPBTHW6;Cz@DrlD#q){;@6t=-I=B16Z_bz5_L6Ps031o7K=%ZubHje76a7@!b zyZA~3PNNJuNVb_?wUs4}JXhv~j*4NRi3%1KQ9z0!sl3Ko@``@H8Yp>7V6o@iK>(}I zQl{Y7>yCFkDP6OO$&?Bj((%vbnP%ODp0g5;nVbfvjltDVZIQhOpsd29 z!*K!23I43}&#Oi6!zfjeURHetD)zVuP-f3&l+vbZg%co%)e1v0*lus8GY=xfzwPO$ zKi?eRH|=i#m8#L#N(DN@d1o;1?O%#>%4lVs9GvHTqt$eK;Vki>iluyf+b}a~4!rj@ zD_X+(!*>8r`jVSVVHD1|bo5(Gn&w!O&{3fq(B{RaGi~UPJX-V|J{9L{#>H6xmR|Iw z&XB|ctYyZGJU#Qx{jG3GV;`YPpJ9&=06ly;!o1JAG0@&+pblcU#lD9+_}yGF1teTk zvC&d9Arh?MyvabQY5P$VLh0+rfF`1lO@yhHnj>ocYrSF46K;6SluibWzGJnCd@OTm zR$wse6r@}(m1>YQc}U-5$VAq~#?Mu;pCVnsDyG2OIAhz}C@rawj_5g)i7zRd80Ot1 zj?Iye=}7)wuM@Xq)CP?!LG0IjPV-8$$j}eUnz6~_Q6poc5|Gi8MkV);37@9pI9l#Y7`#xl7%5vxcq;K6>&bAKW)?M_?FH2h5U!FWNdHhvZ<1Vjd z`wB#dwCYGjX?;DvoJ%7lt)eZN0oX724ip-$zhQ+3+-(oiL}(4hkyi17ulAxh=G zYu7M~(bt{?LW?mxh8O%4@r1Ytyq2unG4piEG6=CAH_kgmtiL+sQ{4K2+|RhNKrsGj z(pA$yAl$%08?QY?n}O>Y1ciaj?%nq~gqC|-B^ltg=~T_UQENGsKkYKi;rv;tqe;gC z?A5=ufCq9U-Gg?efsMVbqBN!UKNfJFdyE$x73%Rg*Lg0KSGNMqGlfubI2`2N>lo=6 z;&f5D1%Jayr`c$&lLn#fW_ChLfskiX`g%@qNt2~gOsK!fr!zy^?H2-%>H4>z=zKmY zmZ)Y|TjA=pdRVB4W`gO>)G`wx?b}4HK8#`9c~9mKuc+6oj0ch{mxzJ=BUbWr@*o&G z0pB3#7%u+HOs^27Q|M6-HAG^d*u7Cv%2nEdJJ%QV*l;gY&dM40 z4JSsU0q@lJe}z!~7_198XeWywQmLuzv_S$PW&-bEwjiYCM zaLHTv976c$?P}wKb{5jj#)|8KfvfkH({|)nENJ}Ok*S%@hh+ALaF#mt-}H``sV;8A z+jYFcT#350eAxU8*nzFYC!cfakjhx9Xb->!^+$_qvwU7k#Z5MpUN~Oj#G;MYcluc? zy5cof*>=~oxd9?0zd^M27 z$Qnno8tX*UUw~`!N0ZsSLiRR%y!k(rjW8lMUs3WfxhH&i+?ZLe>7X~S<0>SlMWG4( zRWSzgawy!`VLLJWu)bDez48cYFtcS%V?#^C=-uofIoOWYSL-aZJ6a~gYj1*_g)d0z zo36Sf+aMN27_ur^6^t|zO7tH1?sa)XWp#*+#>hG<=5(vW4MO(QLs0*u|B=!cSum7R z{Wz2&PvdZX3cFygN86flPn6K?cmwkhl#0r)&cK&{_CFOzx$=@)RKr{O(8YD}2yk+F zGIPv5<18W~kvI$S$SebBsTQC%<6W@aiM+K;fJg#UbnOE5@953_y`R&Gk2HVwUd|E)a++4kZ}p z9~uIsy%P3k+)E!r&_W@1)avP27_sA708|B|^$|r8fsbXFTe*}@n3JX@$xjx27jG?Y z!cD-^nJZ9dC;+h!<>O>yu+C?8iK;7uJvKhqTkJ_NP)MLg2j^iBNC%*+1j(x-?O8qN zBO&sdm+_{t`J8v+=2=f#MYRS!KGWn|Il4JI@<+uDqKr1o--m8d|Fn(VH%?+Izq=aJ z+qL@mc*)JiV&P5BiJGRXmicH`M-wT%z|9KDk-ZMGdLRS|S{6Zmdv0OlkqC>P)h2D>e08v>E{hol-%4@ZO5hGvH=hu})v<{yg@#?JdP_9q{0mMB8L6}PO#M0-yde!_Q>(< zrM0S!c3v9ua>M8PboH2F8TG0nQjZMIR zfYA0xfm*_ms5X1B{r>tsa#A!vo0~>$r$y5Xv)h*kmh21v3J?4!)Vmn1Zuq1q0;ysk z7^{C#;c(6^n?jS;I<%Nv6i0BVr^HH@4dd3{FuObqetZd7bnh!rmM>825Ku|?MTN?G zE;A;H5OZl2BQx>_NZ9guk%9-`+zP;;&XB2Kd8U;gHphOEVXN^dasil_+_Tf0&o)qp z@yu1K*CV~gmvbI^&>j&L60iZF<4cz|_NH}#r4oB^0dF9@snyx6(VuyjhzX zne0UHXej?=io}TAmM8F&i~*N35}H*5(<|;07^GA;|CC|IL;)IcBMMOb4Khg2yid5R zjc+)Iz8R-(6omyG{7j+H{DX&jF9MrfwcPCM_z#Ks|DHUUU3$M12dPxyeKJ0xLdqzG zvY`Rho~qzWJ3FZkZPj1!U-Z8v$I*9Ga>cG-&`QZ>&MT=?)1)GhIsp-c_s;j#oxaO! zy;i8Dx5`Yc_f*b>EB@+L5bBqnS_)I5(2{U;OvJ^w7EsMNDD=pKN@kTy2Wf}!|7ZeB z=R}1CZFCV_)%mIjAbwoU@5FgTxWoR&AIV|5Q(H5K^8lkJ5ceUbd{p7mTE!P>ce!*| z+?I@>bVI8Uy1kC)^EDQj-oW{(%RK8ocaB!b9$9HF3@!gcvh$0TaH2d$NyAt{i{u#% zuE_XF$6L{hE*M?VWvByMR~SHD%R8d&5fX)~FhU`WeaCDGXte?-qkf>IL{ehZIHstW zpmlPiHK>yib1Okd$YIvC(u+QG&NSOn=|_vpuu^%y(!Zz=fpPfR^$Pw=HRxwuR5J>I z7;LZjGEtAekS!2;gT@qI5C#>uPFU&rmvUaZU&+eKJJvF96t;UjC=nqhBHWTTB$$#= z`^Q`|tJMLd8fNmf^bx+mCSKIT#j%a-ra;N>i#O(wLL&(%e!-Eg!SxPM4RW~GHA@bk{+9R^F9{9lbe*`jcwq2t%d-T{dQMhKs;hBlGhEw*qK_ZwGNR@ zei31gi(meW?cP#IhACI&;qrZ++7vR-MIu{u_bwe8i}lnzC+dr)lO`GbvLH6fIx6^I zcN>gP-;ikGvz61L6#p@hMkgh1sNrIDMS zIhi5}N#TR=saW}@f54Qh^+@!RfzSP02_7LlcYIAH)ktxQT6Y7fGeg;Hv@MdMJYMs= zbTvy>0A@9y!7Dt{XphG$4q-+B$_$Qt#PF={w zm3vcT-N!s?5}?`2=GQYZP+%DS+ul`hS zlwneieT}pbk?lth)UW~pBYLtSt5FKE}O^B$xf81}R~zL|C!uLMaY?_7ow~hK~Q;9JL-t%KGo3FMW%*<11DC zTH#*NPVNBr4C&h^)&l<;siYYVVsD-?*-B(~-Y5Eqcm zGF{T{S70}0UGWT|ki?TVGoS#P@si|HK5Vu?OR()`XN59RsYnO;zuUXuz4n5Kn_fV# zL{&I-C#Bdd-$W-G2?k;br|vc;MdC(jpckbQg-c9{MVmwIHM*IF#qW|Up7z-wMkNuF zW8~Y_=em5{6xW6v_mLD!_dSoaNxvk(&Vcgd{7!8;Gwr5F<&6vfOjf!xI-qDnt4SLn zcB%m#XeryDOMil?JPo-&OiR8E&H0!82pndcbs9ESiqAw50!zBWs!Y7Lcy@orTdC)} zSVp;jfzs`#h(S*6`P%3}Z7-Lrzzff$Z#Obl8w%QFB@>Y5s0P z`j~2V;fDI1UXhlie^u|JRdK7(soCUUZReWI0??rQ(m7$!)Tl#^iy8Y z&|FlfBvna6!{J!rHP6E_RAPg^YzONzQYEqTbVoD23B!yhnQXnEuBj7+0WdTvyQ(k5TYs}er?yMh(}`&Jw{a0`R<>MLmk zij}IYX=pW2;m;Ep@9O8dvCGlIKTG4T%b!b@UnIqcncDWTVB-bdPtekGAF3ISYA(U1 z-@Y8+vGvuTl9H)ag7z3IH5e^S)O0MKno{ozj6~T1A2RH_|4>*FKE407yi(jlamQUA zh5HNQJApuqb-^xGV9&$4ZpzuT=r5IM;6w&%Kxz|?kvnIK8@%K)WUMcw=l|V!(YB3X zPs_01gu8dI2M84!i-;x7$p?`PYBtHFoC}k3mo>$Y*vmc~xNpe2wBUZ_G45-EJr%nV-)X+HJ& zlCRonkrVmn=n}YIBSnv|-XlgY1ys-kP}$38cWw;2 zH&R6qxbVovI3&E{OQ#5-eBPoZ5DD?W+PQEk`jz>cFlV+HdGz&$aC09{IA|Sm1Gk&U z)_~7eV*h27qA*~^wCM~Dj%MH78&i2>!oA5UbfuknPJ1@{!?vGRF~BRN-x{x*j($Xd0 zS#6eyTAPBV`(GP5W0vSrAZ)8||EW$%(T?QX()7YCo&Ovu5qC2Bk-SHX$Bi`8& zEYlw$FNROQ{86jYp+#eRnKxO{iPF=Wao|wE^QTGYZt;XxMZ60UdoX)fI&adfBb&#Q z;ODG-Z(4?9QR&Bk%ufB!44)WJZcgL0bcYA3hT+{K{+V6Arc$GZIG<25Ub$&HipHa* z9=>@#ycgyoYX{G5(rE%IGi2X??OZP@7j|c^dZCRG;)$~?cYsPtcQH24^Nr3!$DMm= zS2Dr10DK(GsSLOccC@gt3Rv-`OYKe{|4J$lserU*m8<-PJ9X>>m={etIh*GKEdRKA{Qt;>@skpxSB+MyagUcMf zMC)p@K=|?C&$=*iz!fgZDn=16S;6({E6ho_kPTTY6_l(r<0qkaj#kvD+M2xvjmpA}z88 zx8S+TKGj{Gp{Ld|b?#FvBEev~eXb-PzRls>t7IsE`R3EA=rB+w5%%#=>e2#>uHI?XWufFT!-^w-H(r+RoO^EvUkaf4 zldF%D>#`+^bgDneK{lCt>#%jxIWpj_dF%+3+)wU^B3i7I@oA=KPoB{L(pzVFm4K$g zHui{8CY8u9)CCj)L^^V^_AB;e{f#<=@TWV!19~`j;eHrCsaW{nXrYu z7Cm1UuQ=8!ip6Lp{5PhnxL`h&*m63*6aA!|!O$?Iy?3B+o>s;de(N!lgsc0mvn)<8 z_}q@lpEs|yG;ut5qd}v{c1urKOj)6)pU2ty*m!w&oZe05)+lXU(5XakghKfO;n(5U z=5j0XS-~+tAThsh`tf0a7gt_gR7YBhNvB+`i=?Furfrjmkh0Lz)7OiK8Pg6y*f6+v zzNK0fOvjf&NygmH00Yz0=SZ#O;PzY-sFbgnu7HkK1?B>0*RiR0&6fcVUR2H3PH?xj zm7ci+(iGoe~taPzq>QF+tT#pxR;D;KoU%(=fQJ#($Rvdfo0)#wB{=2h65l41&#OnW)) z=P70QOt+`22=H*<&^1tU6qK;i0ckgs4!C%3nTNJ{fQOtQZkxjqYWC^e_ihVB!|`#k zOy>!~(XE4InSm=mQbu2Dc zV6U{AQQTeZ`u#KX^d~b^+;XGyfcT(c3IJyhE(4Lc=QVMv($~WlcP&mQJF*$t-(l8M zw2EPj7r)_&j_(7Q(z{dmwf%!2GM_h`!Pu>L6#B>;L<~@pksXE5Q<2-LI2%=S7jfT! zd%aPZ|8q0rppzI*I3C?3Hj1_&e$rwnxyn~nWS7XxnWDsJdtg&#_h4b=CGbP|><3wo zWlmU`hiSL@pl2F}GG4K9I?Ki8Z zM2QITIC7e7qT4lquJ7IMj9V`lvg8b&Vgo#pEM&y-u}Op+kS-mgCLfG{CEYiKKq?Ku zv!U-#xeyR14q?-)<$?s2Rt$o@IIEk^xnhx0I}kD3%*aNNYI;7pwYobA_7`kZ!?uXV zf`I$;ko(|jrOxj8pyjl*$`Sk0w?`tr(k8d^xGBXQXbKlI3YRPB(fCa75||{!_aT>X z(}hbcCeVRcZ`ah7w&2D0MM|Nors^j?MltCDkobov1RMO zzQQKzaGkbVVybxm#rY|8fEMmV0AWZ@sZ_jPEmL}t5*vY;rB!nF))V0%jhE;Z5+*3J z?<+m3{~Bd6j%>@nC;1xxHlHgcEm?iC5x!4s# zDx+tO3731VA*qsQGL2q!A#oAr6Y7Kjy^De8Wxdr4*0Fc!ode_!ZYWJZNDtZKEAUT8 zi+04N!U$!34doC*kL$Q=f^;175p`gwl&bKuLi)k_VkUqGB}eoXewP>u&3}d{qGh@F zm7Mis<8`Lg2WKTGQ@?~Cg;ECGF{;+PUb#5Q!j{My_?f$ayzmRh&U<-3E|Q~YAsu6} z*=K-w*hZHdR1`oKc4z{vS%WuNo85;|vzWSTGal`}p$!XZnN79WGXOn(Px62ov@@{C zH;G&~_OV>ih-V-C1|(Ag6+7a3kKCLt7>3Pi71}PDq(LM3MoM7c=tpR)cJdkAlmRQz zL=GX#CG4=Lw2Y9Q^q(4fGJVCpKpsKoDjatglJsb)FHD=?PFdx=`}2Ish&VydCh{i9 zUh;RPh9}4R5h$tA1lAkbxgS{uo{zuXDn$0T(@l#L?N5{TA;C#$+%;$GI=ZA$0~KoG z|M3iO`?M6!s7b+Eo(sQ!rC~f{Hn@*3da}MLa^e*ctMudjV_a|N-K)w{BYh*>t>zSh zi0iMc8+b^qh0lglP)7RomA{B2*tnSFJvw8Cbc@UWJg?7rCgq-%Dn)5b3+{^c&d@5u zMmktX*O|uzgHMbZ`UqbP)3XYfF(}fu6*$oH(1HIr89bB$E90- zZf8?7xgMwc=2h%a9MTUvP4OPH{>^9mZf@aamJX%>A{!@!XIhf^&0lbg^w!Q59p4w1 z$!QPCg@*x5-R~8S`wf*h%I}^QX|8ajJZIhLDfW{?P-?Xk*F)HLA2fjMvXWVq(9nVD zkUq1g2rPGmGNaS|l2_RQmKGMouJPOyD?+2x4u(*WgK>*KRH5-1_LA{6VU~{-dghW} zu0xczya=@{9W+f;8BXX!>dm0X$MeW^DW}E8;984f$uqnFOcAa*GDd?mw-xcyl9rRf zNP7$_DMIvgxF`>smJT05Uow{eld?!d(q)mH(J+D|PltC?Bmpf+e=s#@)a_IbwbSFE zk@l3&Ax;?Ws!oq{^(Tb2iMvK$Jdd(rtZv&$cW&(WqIFmJZ*Kfa0r8g9gou1D+4T$g zh$44Oey5SJ88UiKcw>33rxGc|rz1%;Tgz8^*mKJAnpH`=TYD32Cp(bHPK7B>CM|Pi^etW~M5dE@fxj$cNirxwx^SD%{IlxX8zh&snWM$&aPXUNEf!w4Xg(`FeYGrg#HBzwc$prC zu*2GapmFtT52A!C8>kxOPiG^-LfZcaTOi<%op)-om{dLF-XfD?u!ltLXC&07J;Paf zVqlgoYM{d$haQ)->?%}R+7T>v~ShlZ_nKJr7%2#;r;$B8T(!njDBwYLbf+2J0m9&N9_n#!%1WB1) zDVYM1!|7+p&N@oVF|SW|n1Lyje)_oFS#S}tSaK*S?B^geKWH170Yr75%od)gz`{p6 zF-S*}ny~r4vjx5o_j~LimFraT9w+%`v!mTz+I2WXsm_aSPp+zyLNYwMoKW#VersE4 zdz~(IyQFY_Nz)5a^nfbCdu1o7^5d5 zze#FfbqgG>jTZ(v zw%@Qnd7T_)OWJ>U*< zvrQ}(mCHykJGt3KvWn{OX_qT%Lb49`vBm7C3v0uPU8Qk`w9D-r^#wyj+SN?E{DOjw zg?DeM;rq)P#1BYoVA}DG!T%Pdqyo8ruO-xJatR^xvjzaAKT2~Oz z0Vdv_+;nn`lZgcRlIdFBPz`-_Pp(RWP|RqtUOi+ znv77Fp_+#r_0bI*mfQa`Rx+};-2y@tdGMX%q0$SkZ=@QX1+l|E9+*@HyXu@mq^*nl zg!Eq|LGd$rty+WG3lL3p;1#bz%D8edzo@0q5MY6c$=IT5en4k4-W}wKA)ip!vWrm7Ogyle|8V}j30TjiZ2zZL?*)0*}QjEII?3r=7!y) ziUoik{7ovK_zQ|CYsnTwZPe%S%d38Frp{tO6(+5l1%%LLeO9B?Vf=tK9MP!g!{s(2 zcww}6%65|-7Q=7$t2pTuUrMV8f=4E*i!oxsn;fd}5|HjKvTq!+H9wyi@-EM-=tPH+ z!CQLaZH4``0<0V*C4pvay5SVxO_dA8v_?_#i7fn!0c1IKesDOCA2zm0Nba}3;lprbqTR!e0+Itt@q6GP z#Gv<|-fsGUh6=+;+2Uu?m!=Y8Xw3(YTF*%pW-5l@Fr ztwa(Btt}TVyY0SzJo~uG+^@;?ORbO|kq5Eggsc2=(#aPvQ6Ee^h_SfilZTX!|1Dlh zQKcRY1H}O_@kr+;CEb&8ige<{jc9o?tz)(0rG43&A{r4fec!3p(SqlDqFQv zsPG3dtVn3-y66SJ_0`L`x^@s|V+a;|B)rQE>1$2+QiU697dM)yd%IlAmZ;c!27)f) zPb^^|7q$l=*zyjw5C!x~_9#eja;yUu#SRZf-}20mU3yW>X^8gX{D)zq=u{ovud$rq z4#}t*jdjaZ>#B}QhtRo9slD*~XEHn`I&_TuMxY(;ov8LI=@&*wuIuZOnISaof&kv- zHjB6PmZNkQHhlA*aPmkR6!H`0N`xIis{P3V?%2i~98iO6kBS$(?6O*pfQRw-z_HnX zUSvO>pD(=VXndzX66j2Qg~5^y>T4LK_e~a-T=;}{D}FWRKU5j$;&!AtlW0~Ilc$E3 z1@WC8ne@ii27*G0Jy;Gt=w* zdNmtfny3AUFVHg>p3773|0*XsOv_Qf(YC^>}vs{pLP&D`$vY~0BYfR71^ zP>_#ze1Bu%8q}iD(_$*Y4TK25t5m5z)Hr!*R;4ZQl45hA$48oqE%!dX!g7~BPz?q@ z8Vx_N))!o&ew>`~!&KJQz0s&Em2i(`35dcvuj+_@7{x>{b+JvaHns@PkbQ6x-*%_o9U?a-EsN1sHbe9$NOv?a6%IejEnruTxx2 zlQdw7y+0o%mz#LK?ivb6T*3g1Qs;epta3|RyB{L{=u&&HTrUD-$yP~!cs6Qax`452 zllA1uPVu%8Z~iZlz-Q7-#cw+gul9v;C%mc@sE&c@zHb8tmF7$T5W>TS$~r`nlJY__jQk*n z6?_92+QHpmExHtJe4D+grr3(k%EM7zmHs66wSZV?JkCNos9GRPw*r=w7zPy&7p%3d z5Z;7ra^4Y{tW-ww_BND-%3Il;)1g#+I{XO?LT^B>o-d%%rb88L(x=_kk@dxkKAfc>hS2&M32RpbC--Z+>#1`qDvh1!mmLQdROm4+x8$1_&VVJu zo|k(eHdkCmflkuASh|~ggM^hR3KceOGtH`Q2wyynuu!^jSdUGzLHcELcHz6xaW@o& za)3kK_OwLwc(S9ckx8=*>1qwp39!|Lp1@v=G26TwkW+S*Qar>hWjT$4uJ{eiZnp^x zqw`W|m+r`V&yR4HK6VQ?M?;(^gE-N!P9Tp_sId~^e0JW}(D6!LjsgFRKe6D_#Y~Vb z7)KKXJ*sOe7i`0l7+Mg-NE4Qa29jp+b-&whWr*nBpVQ&doCIw?ch zyNj4G_Kyw(&!XcxJpRGNw5p5!T>~ zx0xUegOB;^9yUY)_{z`0UzBqxmWAL6y+7fcSBX8igdv<*vt}<+)04;EVj$X>JN_z- z6+7l*Ap64j8Jz3XK2@QV%m-#iE62#SCS7=k_OkLB5hv_)jHpX)+rJ!%Xi#W1bl)>> z4Ea$CVg1XQA{YDsf&iKILnraE1;JnB#$x(5(~~khbooqCk2MLlm$sN`4>F6|OXKZ& z3HCRbGmVDueQYO)sA@u3(Mz0j*>g~I>5#=jYv~lpd&>)05lYrXAe2p%@Wf0}T;Tc~ zlke8nLJ3?KnuoCCkP$=~Ej$V~BZ3=l((_G^Z)b^ROzp$)8ZT_L#3m2Je|rqbomZ2} zT?i~H3|W0PVPkdEHd(URk2k7iKGbwC7RuG;v@H=<^Snkj15JZl1C2i3){C85S}$-UnnDFC!VS7uqtN zwkFU6Gk-yqu47p>)HM|G=;iu{ocu#2H+Cgzsc zA>)Lp7H0A0A02F1;_tprEk79IW{-z-JI~_hyRZ10ON(r3*X7mPxQ)pQUo__NNc35O z-;ax7n!Q*ILAvD

b2S#BSfz%I^E>UQ=fJ2zK@>(sD0IjdB{i)7qQvAjw!{x^^wX(=N#H_Y`P08d z2Sux`wW`5-`5!}zjH%UxkRIdiOMjR-qSz2`~0C>%uqjjbHM)QK`BdECnL zhlkRjUq*#&wF9N|F_mhEfGDzm$bo`gG^&}5<#YObOzj>NM?T6RpR`9Om~)RzHC)KN zpoSjFE)RgY;Y`ppThIYCg%33zsLRWTK8*z{Eb}&+wgke<@6-;2eno&l^_qRgrJ6~= zcHvr*T$^m}GjFnl;VG)k`|?yJO7#yGr1L73kn~}61^~a*FO}zeh>^VSbdUD)(1GB_z=u5u1No-kM)3RV z50R#mA3<&;TT>O3lOqm&Jgv^7pP0qGzQI0qC73vXCx>!;F%UX8;<`nhb;;(N$eCQa z>Fqp!F%F>l4THKGPT?l5w=)bq-ucmWd#~NO*Rf-@f@=BBiXFZpiP76h((BHAznJ4V8>ToL>SZ& zXLiXV_DALeZ-61CJ;?BJSr(q&X?K4qQytxs<8Rq-d>F5{ObC_dK{{Mqxu=u&I_?d6 z)7#=e@x}ko{+PVMW8nKkSJiD&OuX~npp7#4I7W%Y@;ogXPFS9gX0+1HI6ibfQW#aO zZO6sx>_~7!Gn=dydhX8PRJWoN4HH)!t6|HlV!jQU*M8?RaZ$fPqp09djW%6LrsLJ( zR<)qZ@S%};533s>sW1vDF2oMa)mwm)-z*I6OT-b#V8G%22m=!gH*O4o*hu)%8~;=q z8hZc$rXZe@R%Z_2d^d$@^`#3u(b5EdH7u&1ByFR1Q=e0_u76~E491pK8RfTlckt(>P(yAio zcK4|Q(D@yW^%X0a6D97;nYmsfwUy@ciq0i^o@9&5SuiET+4)EhDuasdWc>`>Ok7rL ziAekIhV~qX(yKS=4$-lXlP(|AN<+Hh=}6xl(Y~U(N{a-xjW0u!)#rLvN7-L_+wa^J zQ$F3S89v>@c2$?@g1fhUnpY28+X;e)-p0vPWZ3%xwHLqnqx$Z*S`9hd*_nv}{R7ocv@QqRhSR+v>O@5Vt z2sX;88d`42#jduuqbRg}#0)>QYo*G%KdvcW!)T#FTC2hDK0#<4+P)^`PzOGde|(Uv z{gTuH>01a}(T*Cx+fo{mn(KtND|EIqV51u0?-XHT1he||6R!&+I3mC~P8_C&Wk|MI zi*;|+Q82LTp`F^LfKn^%j}>SCL0Uqnp&jOK82#c%ep9FB-*>wzp8Nc+47}N!Jld}N z%V0y?RK!xl(_~HF8crtBs?)!g#IcBhN`S4)S=zJ zERR*i%oxQCqA!OzsHCc=D@_x4y6x;*RZ}{&!SFG-$dLB+lx1^sfF_L4sT>M6sGR~+ z&A%WbIw?ugy|SDex?tQ;(TEBik_LG$bP6Qf_8Nf)oAOPOn5E=w zdb8=G?&eRtb)aw}XaCMU0=6}1?)>R03$I8V2_LDu?n@qut*$YdGn%)L*gVB8;%b>W zIqcVYF?D+|SBL)m3Jh;UYLxD!t5}>XGPFkD%yq6a$-LUUG9tm5Y+y@Zn$$ib=UrHK zldz`9%j7W?K`At2*572PaxWF2)eszA%cY<;Gtva9u**W)1C25so-Xm~bD@?h>OYI>BjQnNYVL?#Y~CAw76c0VlwEkqZ#%JAJK9Y|5>(QP;_KfWHJ zosZh1^Jshoijr_({a6-E2zhw18}8Qi#ZE@?TqMpKLJx7`~Ng-Qihrp58cT!8wFuk z>?~teYR1Y-hn8q0%=3>%?BF-fG&|N8S!HKb%)!b^Li&gDzOX;D-LC;dDEQ!;P59%T zmqVN}gq!vd2{Rg|i;pz^rPxTQ$*WOmnPw$n8c#OA(<&4YHv39}% z*W;1#)UA>#gM)JMOokDm`@@lbOu=Eb-6lCWXcwgGoICdX-*k=g&LybBx&}nu_*?KO zuIe>O>el}#9K&xw(p~ShJEzHk^8W(d@0|ja)9W*90frS-%a<>VqGDUrb z5liv_eWuU@|93&mgG2YTVC7QQrcmv`=PbCx+Fw7OjT~if0@kG9N$3ZDTh`G&)!j4$ z|H2snh{by(L*qB4m-g4W;%8CeXjH8Sm;lwvgn(e`a- z|4CO2m(S<8y_=BTuuwUVY{0w|y@z@fVQF)zKK2nwWu+)!!zhQCl67zQmh%&)9M2-8 zY#4{??xj$^K`McyQt6AYYgvJAajQIQm+;r15`wUVe337%MmUILzY5~oF zlsHJP_*sXy+D7o^!ZOi%%|X#Yg(IBo*NmX5`p`&o>4uCG4DwjV3j8D>?K2-RqSm61uk1F}z zEAU{rZqEWGhpzae*J$4A-$~<3j2f-WyFBV+3PZ;cO#72sXvECLB{Jiy1c+#)e`gvjHcl*;uvR1#v|i3n9A7haM?3A~ zI9vQ2E|GmYAez5wb#O=H@i`Nb_Wt0pk!@$+ugH5W?WOeT1E^aM^zh$c4Q1U98YZC1 zs$?p@SbuehZ0mFs47WpHe@D1$^)6y84sz9HNtmyLoHm&xtvFyUG4FxkOcYXQbG^Mu}$~uH_Lz4WNw{d;lTyV)fAB-3hC3OU8DSg4GB@hn0TY6M z=XqTBEYDxg-xWMcvv!RJbQ!uqfaV8udXQblz$Eo4LAL|iJdO9Bs|(IKr!Xseg& zPb73rcJ$Fno=J$@t{3NAL?3zY6Y@^eu(@QfuiIgyO@I$IJXQ(SN*I4>fbRLp6O(TF zwUwOg>VcZ^oio7^#l|ov{~`(2^SPls_;GbQ3@jol(^?>?1SdfJ;Fj^nxJ_AizL9 z+_7XFKo)gPoF~=O8LQDVfI$`B!^{(6U_`itql?$zH<))JJ#m>{#X5={tge$~g@g0J!G*Sh54U{!Q2Rh};Tmj+vy!YTa&Sn!UM8V6c!l?->hq|Jpl^YIa zK~*tmhf9hMDsf>&H7qeUX-T3cF|xWq44;XX2`kN>%Bokn(?(mW?J05IErXAy^Y~ZW#3AWar<$^S`*k_Nch2XngZ}7~+ z;pQ8|a5w=Wog*L+BZSSJozpkC81`{ACmg!XvpC1bqRY5<}7t8F>=8j~4j~nMdKwf9dsHU$h`e*WWwR z%J2eVw1E747%ciU6#^<9v?A)6r8(l$Z!Ho_U6}_eNn02Xc-hdp_u|WDJ}JPcOn0MO zmmWLaUFKriIi-5zO{sFrC3-=sf|i^e$MID2cYeeg1Jls%k_;^>0)V>Nyv8~f$I2Mf$H-sOwq&iZMmYxk_@fGRyEab``^RVt zIXOTGXNbyC3|FtpGjV*pJr|h#3i^!fzzAfd={Ch`B>@q zedjb7CLl<`v8XusU>cK7-v=4a#Tb%@Y zk#dS|WTDh{#L5~Ev*nqNjdSE%_1aUn<01ym4dv3Ua*9j6v8EkP`c7((cTny&Zl285 z9a^)ysGD#(iwH~m;Ki^ed)e?7wky|CDG1C4**}}06rR4tF6X^ zGB~%o(v!;z6K=A-z{^}r7S<{Ol*dyz^9x_8(E}f9rFyvisl~%6Tv_D(e5LyXAl+6} z+)CO}oG~J&_8WaVLi&Htj5?)Yal|Dkxk!pqfP5#1mXx;?Sw@?0>XRnL0c1Qdj$so5*rwN|V)y@9$eReIuw|smHS~e$CxKQ9#09)4{(1N6^9kII$%A`NQ)U zd$3SCVBMM!4j$s>C+R+Y@FHpE8g_lT^!@B2rL*9(KeU?dz5Fv2*Xm_6*QSO2F94F! z!jH2QW8_wzLQHAve>!#>0j^RQ7>mk?h2Fc#jkMXDQAY@A`TL>Fu=C#|-(PEwm?RuZ zr#}_-p65<6&WN3~?5Ew(zLMcW=_)%Gp8bv4epb~5RKUGYnyq})Ra!Dbah<-XnH;iY z9+nOp*=j8|jNoj~77y7_6I;zyV}rP0MQh!B8fk$V;GVkR3GCFpL5q}4G!cf8XGJ_| zzg7%~*yLnW=K^bvU9aQA#*MYSO7)smh*i~6c#^tR=CeM`f}>~%yr#I_T4@N;K}auf zRT9?Kakf13*yU>B%R>}{!adlaTTQ+XcW8=+t|_P>g;f?HS7xZGVt@l1ao$Xcs}bMg z+-g92!XZ^n2(^VjE*Xv{Ij_S=_5HJxMjDGR2)J6TGpwzeg@;v#zBqZtW30A_TAPCm z9!BxO+UrQ51hfaHb*@JkIj?wa!8|b_ur_4riM+^5fWrV61*gV zDyLvQwmsM65Y{|0Ci@EMRJ|>I1+yHM!#fQ}G8}c_3>>aRphNA_RazYx zmz1`iKS*jR3hW?FD1ATtyOlT!xBDRieYQr8z!opmRo%d|XkvU`xskz_a@B0|AYV0o z&38D5>x~g3!3zzN*QwyMHh36eMoRWG*S*KyIe&{yyg8UqUi;;<2>G2x$`=`w)6^9 z3rA#+jKXqDo|q2D;di1(D$Hb%@@wt86$TWMS}*9?YF>6RV{9#+OHO%1jPtZvES#@S zo?BQA2sLSs$j^r;z=|ZRpsr!f2FVch)K10Guz8baVBBU%{jRnaL!&08sZfbkmTQL&sW`M(5=UBjgJh6A1-^zj}*Hex!Zh7QsaW_4f}Z z^1B$E2DA&r6z=|g^zjlc3QDrmSy!hoM5lR@4e7OP!D0OlZEYxxsuE)f<@Gidhs)i0 zbr)IUfyo{b;a@F41+JF)B^|8M8&&36h*$|57TfG;zel7N#7@jLA)WnHPB*e`fwJ&K^2y>pr*c~no4og`qjblRJp+=Jt?Axz}PG>paP^mKlKxleh#PcXnV`&dJv&W$l zL3YbuB>`=m+5zC?WfP55mLEvLg3Ng7+zKQ-zZ^}t+k02XtB|3**{SAGT4Z6@dlff<=(Yq^>NH==o_wjw7mn zmAtO&O>td8=THu%t+y5D)injHAhL^P)SrAU@4q4GENW2jl?ICXZ4S_s=OO&?9xh?- z$%kk-!9#PwgX{SZyr#8He_A}+>{JV`XC1`QWIU7`T}Wo0(^ z3}qJ|Ei~yYb<20KorkSOrmG)1 z7wVbyGu$_A*G`Gr=AB{P8Di`eZKohtFq9>YcaoLR6n)>JQE40Lx;D4@ULAEoPAM4L z=KPq1q%-l|-YBy9UP%#G6-kPSU_tcxoO=1ytp)69SL;&UxJ1FJhFU|m&EfJ_yI40L z);vxRNnSYGvZ3(w`@+6HRxEG@td_-6RA%VQc;H+M{Sd% zrp6?km=<79%*SWZI1zn-T^k@9U2N5CZ1(G7kXs!BdU z<7jKn_3~sZOg!$<=v+x{0lODS2+O8J}9evnpp5g;&w+SmIn!$?O(N`j*H(%|e#V3>PI9U~BLb&}n#D3Id z`8y^GGLCfBbgvbd>>>O%Qo2y7YyVoWKKgL#6C*`i4;HGIy2>icgDBt;P-JR?YJBLZ z9(;f{bTIZnM@&b|yh%K#;1Cod%1?*C&HhovrGG73mpR2De!G#4eoMuubj^N@`R(yD zovH!Cd`LheB9g;$QIgBf6~dFz zTQ7pYwZfG}V1bd+22{d8@#%4`(?3ej`uGIYt{dtK5^vM~%6d&{qmwL1h0%Z6pJB|Q zN9`X`MhXoN>*AsoSc!R3J>t%IL@fB%qtxaeU?i_qOE=}tGI#Gv4c^r)u|}%fp%_e& zCBvbd{5zn3?VoYYVBhm}gc=_a(BoY@grz@9r*Qk%bjQ?y*7Wl&TA?0 zDB6}*uwpk(?ES%V6q#Mdoi7fKCugs1KBFutcn1Ck`)I{X!_M91v9ki>Vsl|gn_*Hv ziwdBOs0)mt^eMSLQ5g?uOBFhe_52o{DaiMDupVdRAYQ_M`19S`k3FZB-T6X^j!x#9 zEPut^5pA*Acg6x(?1TTRVTp5mpXvSIV+0W(V^qK%ic{rXfhL-}^b1}U@kE8Ib}UMI zwdHuxbdgZKj|YJV;s6rrU{O(GG=v##5LS0yi%Jz^QScx@+Gz#rf!nY&2Xs_$Ke^*M zic9VFH8QKuV9*3EXL%HQtu-1Z(!dwF8<`L%(&ixa{XkR4nQSZx<>?pXs!_*neKXnE*WGF0o+Kn@LsuDRaS-F-|`WUf6!9qs)SNDceiM^ z#LO?6_#x)X?cWu`l|y#e!kSR(*#QK;OtI;1N87{%$A&GXPnR7|yd;sF58H3BUODNMuP z7x&?;4aivc9@3vh!WxGUR!0l4Ucykd{Na=Ly zMZ!=0v$ROo@4qsRI(Is@9nkgZY|%w55=YhwS@^p+Lfe$ z&kB*lms!1lo*$Pwdfm38AR5;`s9SYjG^^eoIV7K<5M73sM8sW#BgoGk*gw;+pX0jCt?UhHNt-DoO<5$5x zW`@1I02WbW=6pDY@FJQV^PR@pdMZz?PQXFy)F0uz7IPrTb|WO;*`QGcYNU&{v*j_O}r56bSAv1O8#+kfj?+EvnGE2?{@b2e5C`C+@l-3%%tE>B><7ldVOmn~>Z_ zAd?l@VX0|HgmC)$$ZF02_i5>t&e7H(auC;)XHK+!imCpJUICXyx1zS4ZmdK3O{Gk- zq#9lC5Z(Py#w*e7Uxx$PEjT*rDU^p@iGJpDa)Sm~^5BW=2cMb&#gHHF zA7Pa9VY^NQujqM}dj@6e`)HvT%e~^e@p*Y{*J6qH{!yjP+MJiFYvSdjZ?P;`6Vvyy8& ztT<5;Luu~Y^pPiuTuj|B19y=9Y^k`vZl9&}M^4hhI96@W{{9$`Qn<^I)}3k}{HfgP zVOHEy6M_1|9^LT{q@ZdtK5l&+O#oSTSak8tFoZjevtOzUsQhUHd#j(n)c@Du-!$dAmIIT%`l&YaBIBj zRb+=JW+-nT5ObpSp;Vq74(HW#e_HIWfFh?*`edkzrbYf>=SbLLYx-vLTyow8s*ukS zhR-4QA<~A(GGUnJo4A(|XOkU#mplfFcsioPvpc*_l|dHcg@kSUP0aTp9g<3@Yw0i> zYQ`E4;;vl!Lp&y(y}Vj-y~eQ#CNS1^jFlwPXSbQ$yYO0rNm5V1b~=G{G{Au>B_Op ziNz=NNdi%K;rT84tzu=P;+CkMDQ<`YGz6UIq_hX#4W;c1Ez^rW0IHgkbPznF;c#b2 zAViS=%b08Yw8gGNxV}k(;;j`+ilQ}!*UQS{TBFC_N7_f?fRhV%O=gwh{Xp!0v6F_?>raAsFwOscwx(%hk&(%Yv4ERLd1 zn>Ob9Yf1Qs*Y-RR!7*5eg>c$;sAsW2k@yEvXwyF!I$is3rcT!{QWr0~!%$|{X1h`t z#i1(Iz4>*43qA46!o@|PQ$@1@VU7L+1nZtGXiH&NZWh@QRHq8QA;oz7Ex`=C$IFuJ zyt`pgH2$gFceYtxnp~|BwWPvuH6=>-RN@sXUakZ=5mzz@#2@)ntud?huGoBeWm4fO zy$}RQc?}moDJ`x7KH`2-F!=V8K3W+UV_t?xbWeqkF(A87Gqd9rT8xC-wvE{sY2!03 zkP2&qrLyntw005)WaY79xIj~R#7+viRxl-VwBxmW`zin{7!s&8H59feY=^a(Pd(6J zZcJ&ifT|x~{IeRG+x27LBny})Wrtr`stVc8tsolHizH{{Z|H|i(7Y|6VHN=k1c9i( zYr=A<{lm7T8u7tCd`D|)338anhm-l9D?*XDu&~v6N3Y-Vxv1H0S|?97Q=*p<5!-iR z-r|Q%T8D@vk61Xfow?elU`r?+@&1^&Q#2+t05zdZF6p5fS9$e)wo#Av6$v1JFkcu{ z$KypUCv!FSM4K>i^bp2gX~$FnSBX!lO$EO@&9Q$}HVzOaBQJ+B z@F6o}3L8qARrBRxu8CsNFR34HOaLs<8nMKzX>5jhlx=y7{B-s^2|{1m`9~oRy$}4T zz-57wZLRC_rF}>71xdzyt7JA__`kbUB+Y17glR#($IegS8k1INEQK;FMV&xQHQ&(m z@qFv>QncgGWe&0;in~ti=TDyfr%tIhF}4=m8I(1}a|UW|!^QB}>V?#$2jsM5(sfVg z2*RZ_)K)_y`9IQQdu#CQB^rlm@K8Q{fl=W7=8OXrfib#~81KxsTBC0MgdSImwbQ6m z2iNs=jh@w@8c`{-v|@9GcRp-qYO%rBz9*-pdStvl02a}(&FGTSpdWg0bd(MC^mj8z zTYI{(SxOJ^epLXQ`wC|;hpZ>5Tz$a$(4f6Ie?3xc<|N@J=s~(7w?sAAP!LIx3tj$F z80e_l+YaE$7pd?=ywxHe5UVP%XkO^UetpC2$M7GWI0u3jAp z7eB=|!G_;ysm7t1&lNbt2M>bK?EUuUqoPu+V-Bq@u{PgeqAC<|es&_%MbG=ZDK8)j z2PQ@O@JHAMk?CRzx3&tAcKu1r*Wn9c%4*$pn9={B3c%E3WjL-mWJ>%>GnhJ zQc53v&3RI0HS~jr1KQas9Y^-5{-$=kV`_okDTAuuR>|x+)k@O@59qrKUM$yR5xOCH zcTXJ&67$hY;kstEx{8@gIh7jAZ6^9kn2L<|=?SelU5hHq3~{DGcSAa*h4#Nie`br5 zRfCVmARFL?qVtnUv|eGQHiXJUuMrwpBW@+rY z^a(3IXXT00(FPH}2WQ#BpLoQz6Clx9{A0?dY-yB|NEv7VuDr&41MJ{aPpYq98|`vAtL1~edZ>`CfQ z@}IL6iSf#S&hS^~R*ZkRjm_EYt^d&ETrl7y%StccH|}zZL#{#2t|LRJX~)K+Lf?>x z$;Gdp&2urGB%$1L&OW@=*uFc?xk!`CdwFOj^j zhnxTv{oc zNOxFpCF}Jtd+fYa^u5wy3yZn70t>nt5f5l8qD=)^SV!SclYXhOyIsLk(!rvOPU!HO*@~F@?x8-x?`Y@bPH9m&+b`FcqxP~AJDLeO{8%81#NVhCZx|U z1cIfvnkc9Om4cR!E~*LHZtbJ9oC=-f?+uJfFfx;4!Pmx{F$XE6O^GNb|6)P5H>~*M zjHYVlZJY2cW{2U%ZO1WyBedEb*tskw)~1KjUblKsOH%Zczm(q!o<DPBGDsMl zM3qBH=!LSr)gT}2Qq5}7sBw;1_BRBPdsp+akKRaOnv@A&YPOE;kL>k#W$YRq>XPKl znd5~!AOx}Llq1grMtg{-H6JkyoU8b2oPR}u@yJms`(prS1QKSbBjRG*dlni~ zID^4mb#{5?$vG4eDlApYD%KA_dE+&yJlXCfY_o3{ELKXKVhf%W$E&oP!trXoK}QXx z$DsPL-{fKx7(OBZRa%TH+lZR*bHLKk|AcH2!n1@QE7oBlbkAYlk?BE>@f z_p-7*9?RV_q!5V?>uZ+2#pjMAPQ55SvKL7T*=s6>)19syti9ryL+0OE)Kc{Q^zr}! zy#8qXNl62MMB+;Nw_(nm`7>>c=i~xnz4gl+^!*C0o{%4#ZN!D0m+ysCeY+cRX7~~f z3!gm_2Yj))_fkP9yH!vc9ETtES0EjFv%E=E&j4zUa;1xYvFwTL2Dc^>L$adTv6J{5 zCH^<#f}02z%!_b>PD5a;EeF`8u2Sjq#6hk$MV`r}Y=MKI5sl^a_u6?tgfcqedID@B|=H#U5Hc z3MCDa;7G`qY5E;oGV_$_ki2-Td{r4ceBn{5MbG-#dgsbwH4>umR=Bh(7qE;66$)Mt z>g+IBNR|6~S?*blM?sYZ@6_~g@%k~ZQ2qk>|H8Hk#J+2o*TXVzrH)SOv75EwJcfa z>qOrza*YxO)T>ha(-~88N;!Y7oMGqwLz`NOQnH>I=Ii37v#L^y>ngI(F6KJf7jM&x zK@qo@Bmpn~MaZfzpIQcu-BQfq^)*)`Ot{4*ZmyG79X^bMB;_I7;KtaR8qZ*4YB^Mm z2$98}?X_kE@)}N0s^M@YT|7bTye*8w-A!S77~)dje1vb?{hOji6k$ zeUZ5)&UIcRyMRjbI@GZ5O{u}|t3C1sRq@XXZ_?(QoZHkYWf9b<2By<*joikqNO!w$ zN~U~)+V|ClFPXBQ)Tf(H6qN}q-0plaCb9GDzt2^MVs5S675z03DG-S2v!s01=}pLB z$*txrL=TzNF-EL^y1T*$!ltaDbW)4B1~5-ivTH9Y*8m9W!$;WHEtCT3w4LoCpk1+~d?V#I| z5?#8TCk!Jmr6_6=RW7S6l+o7)v~3Nyp(!afrgOXBx?pXEyAdYezAJ@1zRkHW#I^6 zTvy{*PWmlGjDo@3-7>w3BR!tHXkM(7^seJ3ng|(|Ef@F)*01b7qMV}m^Q)YJ9qn$RiTZ_;G=`#w z%E8m`xxJM%*_cI-xyb^;W-}lyM7Ku|Ni~w@AoxA&|0}bp5FF#Ra$kX| z)27eB1XTK>Hv!Uxb*D&UR40I#-WQ!<|A%9rlSqf2U_5}QxiB2aJ)D#&6{0nFEr;MZ zKIsGngq?oBdKcVJY{d(2aY9_GU~=$rLT5_`%X3G2R4T)Pe&{STDh;jNwDAi2fEF2K@7GaI=99I*B=uf^^j3Qfcpz@;{w;!et(G=F0Fpiq={I$+i+%QN!UUQ7V3J2F= z6&C zyOIkxl*UdFbC4fI33>>ftUbA%77}nJ_8hZnDmA^so-j`~+ZaTyq}h{Lv%R)o=l+uj zuDEA&8ndk+M`lHl0U~v((%49_Q(jsu z6B4qszt>UWrSK+|V5?iF(b?6ZEkGr@UZn;C2!fP<7916JIKdN}{EMtE1N--D^(rNE?RMTE9Z9oNr9+3^xDD^pkfjL~(6E7omzSj!F^;hKtI!jmdVp=v&syiiar*;Z{F#*fZlPq0$ z=A#FqGf9K7rO?{pYqnHj1EKs6jVn=}ZBsiHeJK3rRHH*o>l5*{fW*5W9-|(@4ZY)* zn7CDV_XJAQvZ3;^V=T)_yf|4O+Y3^7j4mOiLKK`+BVP+aRZNtniOGdzqy4bJL>m|O zCTh`d))WGU*W%BHgaip?y87#imr?2;=k1#T6{@S$G~ydE_0r>eSLeEh$e2~hj8KcN zv>l5QRBTT{8A_0s-zVL64=K}Iody=tVoFb_iFyr6f|Hz9jryQ-Et|nZYW%6e6>p43 zcke4P2i@4^ltrSZ!ZPU&(csAaE&^+|!69|d=NQyVmTkzuQ=90FF+~b<)>z9&Ejq+S zIsC$~s%jy3*culpi(cm{k)16$c&2!n*~tDsYKc~-r1)7&(&!b26wY~XE`LY4O+Z3& zd&0-80zB34*^m5AtVLjfb%>Q8VWu#XuAfmS3FY+{lb20_qRV-R(jJ<<&|+97>uRvC z%WqKKwM%t)opizt*JrH^wypKAWR88=lSfqm3<>pt^Q#4|Gf*7Gvy-n6j zHjkW|tEQ1?v_dBEH5J6HrRpYUwWfpRXZyEPSjXo3kJOpRSRc>aWmfxBXWZgH^`yvf zvFGHr1#OK)l*3!TQ2DjR->8iuVy^ z0p-BKP)nDuR?FI<47c#gzUBxjRR~QWysdscwPI(X&92N#W-j!mMqObUwO7R3K&dOB zx6&tQhO9M~z=nS(FVIhxWbLwS0C!o7Bx$ONUx(}sa{S{Gxb-ncP1;N?T#96D-MrG> zO4@?7VT?*EFf`9AK&P<5MYN|Z#F*9g>{0v!teS&~Stl+`k&fi>lxV#F^eH;VT-VB$ zDrfU0qr7r;w7aM5U~vM}PKMp)e>5U&&($;B?wa>fswHcX@R#8N`+&a`MEuF^-#adaakrSEN=CTrL(^1yW(b#(S)E%Iz^oi>M4HP z)m>M%Z>A6o<_9ZjePZnv1b;_hpEDcJgqs+<+;7T_f)os6okb54mT~WLgCO0ylVDX* z^THbIR_;?spg{X)hy}1Le1{Mv6QSyHPNR2cH;Y5vZ3Ui@=3()`b(oZ{=23qtpL(sB zZD?C|L8TSz`FM!Jg0l+znidN(G!yK2F=yJ~3NgX7MaRe{Vo*GMu#B%H$Dx1GM3?LI zD7Rn{_xDYMRiXq^Fe_xcjhn_c@j^-c$#ZV#KBAq7`&{3X_vnVpcanIjvKG>BceI#m zHv-Hv6YbipaF(7kF<$z8y1kfy+IjH=Btm^VDm}2onvmT0F-#-s-Z4rGMF=}=u0&oC zFB05jZ&E!R5@|%5k(UT8d>F@c#PNy7%GI6|x`n?+|IGj3I1Tt;{-w?l zXXX7>z-hu_*fB{J)f}4@HsPJy9G5P)aW1z8ZEra5$0Qsa=aU}jNiAUNc}4L?RiFZG zE&td?s|h^Q{xqjTCHh?R*VTS2H2*{g$G1iPEIU-MlVqbo3R|E^osNhpYG>-f zI=jp*Q@w;R3{Ag$IAT&yR6=m+&`)w3-XybzIl%_HY(eLwd^5QR9xRYw21bK**3~E8 zsD|gbxfQ49q821pYJZ0wXvhP3Nk@x+`SApKp)b<2^w`a8L-*X}p~(#*vYz$rERe}% z75H7Uhi*Av*OX{jZXO>ipF^A$Vz(~G;DbC6A26U~-PIX&^Xr9ztR8?bTWqP~TV?Hr z2p6U7D^X)|He3<}4&~cfGFm{?bQ2mzMXgiitW8~3WdznK4cxxV_rc1ExySKAGTt)8* zdz=8erLV6qRYltR!o#((tlzz0COU@}rAD3D-dd#imw1*S8D04mE~wd!PefeV-2uF~ zb~mG3$vonjU3|ivnJeK+!wY8kI+K=H3*_+u5GgrDMW|@?s6956W$qZcO=PN90<%t! zYnBFETiS$C*!Nly|7?F62=*E^y(0379PJD1nS^eguQfO&Ve@p4AO;vb#8ruP5ZL+9d9cvumjU*&Kn(p@wv*C#p2)Uw= z^wOFBa5ztgN!;xy(h-%r!DiE~+w=IHH%l!{7NJBYpWm;6KOfJp)P>5lTb}{%&)tGn zo#lQ4ALy(rr~i+zw+^tX&j0_<``mknE(t|Z2?NAH5iwR-yHM9$Q4GYyjet*Es+MzcH)ye8eP>FarRCOVt(9QKtA^8QX5FacYB5 zM~u}l5-u7oh8+E6XW5R%M*~9M$v{>!1jOcjE&lWVJi-RlOka)UyyG|oKV zTuPKxKBgT=Y=MDZl%C8@Km6(fL~dBl9uOIc?9Qw}G!#DHgruP)?OX*%rB_2dBViSK z>Tiddzo;ga1fh9tu!O>Pi`ihmJ=K*B5pfLYN#2*REfOhDJlRIgZaLnHS93H!cNaj& z0V!`?Cc0LAbQFH9?;7$CICCA!cl~tM@`uO!B*@O(UDyzcw~Vi(vBHy^kEqll9i~qH z+EmQ8wEdQBID9xCH9)8Mev3-Rkly1?+Uwt{4NFwa!Y?z}Ml;!tvA8X)zD0;A_fX-Q z%4|h|;!>T*kQmVo(I!775U3Kv#?h6Ot5tQIRYL}h9~d>y!Ge0 zmQc#bQKQF<9d}i9SqOKV$zcws3QznOcR8OxYk#355VOQ{!OUV$g`1Y?5J~Yi=?ZwU z9e1;Dt?6#C4Tn4;r0<`k88@UDTUXDA-v$H3dk32FeYB_j5J)TgHUFpUS}5Gy$(Z8G z03@ClGlt-aLdjwl;%Fh+`XIs1hJGll_!W<_fc(%Om9bIaB-4wV$|+(@k=A84!v{4w zgoafX6ir3Q`pJBu_358U83h{h=|jAgvmYKqfFfty*K#AiRS`NFQN zt3-jSpzcV`CR5gX2$O0j9o*6X?$gMF3BMfw78HS=j1OXAdXx+Mn5c)kX9Q2p!|-^VigY1eMf39 z;24zXLzKoA_Xh#S-j13tH%Z|O`!fbojpaSm8{CNvvu2-d9kMK@r2VsnTre`kIhP5( zvrpCFTAJ?GR?Z&j=^}ObY^lkWN(mM<>!*FH>9SX((lu2(K@tT)o}9(5}T;C&H7pD;pK^ zB7DMx&CCMavy9X?)?0>?vnt6&W#SV{z%_dDt0Ui2+3-l!GDy<0icIl=_zm@pd549E zh*>*4xpI(3R#HpadMB}@I>h$3BiK>B*Ec$aK9lgvOE@({`O=lP8$q4ih8Ht*KOKbMh8w#P;! zkoiIReK?wSn(9SBDBOz!l5!Svo18aG8Vk?8-zK7n4s%kxst1k0UGhQmik4vXA#%_Z z_8G={TdA{ta8)l2ej+bsRZkO+2wU%??<8qzVgQB%DV;NbWz<(baQtxew{qLwb3_=%57jl=c zPZL>l_XGdSeM_eBla>4)OG;P-u<-G2HCGSPoLOSQ5?47_QKRJt`o4yc$`{Kll>9`( zSypNQYd?3XRbip3u%O*w1An(4ayTnb$vIwjrL_hv1dh0p#T3|2Fy(zkqc!> zp1*T9mewItoPJ_q2@Jp>S0wd*j4 zrs-H~j0{|-7)oayK*_T@Y^0~w0cTD`Z?dup%NywIoYFcMK-AXiWdz04oY(HQ`vbzx zNz^tXfBPbYw$~Dzc9&(E&==Xgi*E7`%R1!SI z{Tc}Cn`rKizh0>`e17bX(nXKn7z`-UKfmwvP?*wBxqKZ8#9xj+6AS^fpPK}D_IpV0 z%WM|cF!c+bto_HfQcq62YlPHgb8elL5Gxd)oj*g*gi8kG&XdCrN5OY>1Ss-oC+0e_ zHToP+*Jwo`66{X#r!`WM!+=Ax%c@m%3ucgmAydEQt0r>$LYo{W4yb$uoWkcZ8Yw(F zjOVBEDF+dKcIL(ovKHsR<1Wvplh|%^Vkmx2IZ*T?bMS>{Wx-JmuKxr95pdz5Rl*PQ zpYhndV+m4jj>tzQXO$Kp4EDJk;1q6-w>*dB(${nzgubLV2&sNq0*reRZJYjq+{5s<}th3ehg0x(3DbmU$#&@z6(rQ8qIB zmdZO}3di8qIK2)*-mcn6B0}w9L$NpMGa)%)Q)RLP4X!BSd7Oy+_ld43A{G>qn{KJU zS)JA8QH_x7zXL0bkqr>NaML$XgE?um;S@?`HJ_mXueGbyRTi0?IbB3l==O?8>VZOS zNp}qv7k+|=;y+WWdBIH^+<}Cb>BbE>J&pp0TzMlJ$m-SdAV#iSgu?YNNaMLsVYM{_ zdrC&R{WEEY#5a>R=ZRD67PHngT~kle1+Wt+@C4vM%uk$%qg}BYc-WPond`jT~OwM**q<@U}ztsGWhoDGgn1p<{>g3#Un*~q)>k`GZx>n=?+gY?=f50 zr73KbJBdCPLr0{Qs-*=TrnYudIzE>&VXHpO-e0^X(=Xvn=R2#E?Z67{U@e}gH zeM?HZ%-m(|*Q(&9bCuW3D#PlXGN!>@oSbOSk3Ch*Zzrc)Tn64j`mAG=i-j^kmr=g-g>>5Iwfrc z&lP0EE6{*B6eEbD<;al~3F+M{%u0v{`zcPa?JG`tluj1m4~`;=obwOru(YvfI`G0V z=$`4_I*8+or-Ka)vaVPkb{*%v?TsTsVcmtJ)cSM`U;Sr8-bRM$0Fm}J^W?Tu0#IC) z)Hm**I#zr`O()DN{4KrnU|&eb)s$r#mjvH>)dCFHlYv>ejdSD+cvK6F|3+x;ti^?Y&vHLa;;^G#^{`}oP^-! z3UGB_EiAR%Ox7=AeQB=lEv(?UX8fK_nKz#=q^nxMl+#shD)pHx8Qu3+Ca!7o1 zT&;lr{8p0A#o@pW<_NyHipr@>OtMC&F6RDl8Xsq@fds;~b7#zwb^+gqJ<5FpPXUG6 zoWX!?&d8!wq4&Z?sobFz_cN&`gni1@b@c)`Yh)uuboy*)H#Z~!gIQ?|M{RpyFq##sT<^H~gk-z}7 zSdO)D^7gf$u~1oPU~XQ{odjE0u(7c4Y-f1DF^B`zESlFwpwwGak%jXLV34|;DY{WR zIKUSNlywld=U^jhI{fl&B#+FsA(e3#AVRwwkFS6fC&c0SY%cP2(Ogyq(hes^Wug8; z$pP)GJ(+Ekfv+nYC`&z3nAR(0Jm;a~J7NxfCN~*d)k|vEDuKm+V#nNb5V_C)v z7uUwz6U5RMKSCK{y{WnVme)ZVisY;Ec+-8IMiu)aT)sjdQBEa}z2zl1N!^mNR7LFW zj?ofBSp`$+nmmap?K#E`>v=hnfI0suw3D!_Tdd7fd(DIwF4`)a^Hs* zYhP#$Se)Jol{V|ycy25^raV_HG#X?RmOB_#So#(YxpqIzl#~3Mzlc)w?|(x2ppA2B z^CCr7ug+h=nss5@-^8`~o5dozjG5ZX)oN0K-mk5MB`}WS+^1_;R*yL`Fv+eb6!!$Jt_=%hE!h%rUseNpoh6`Ig15XqN{!@*zw7## zWa7anM+zEG-$xn}A=S@Dh&REP@*{PKCV&P8|hgnjPiVZ{XbBqY23#>nB=dqjjV zi*V4(CXPOMjTE!dTU=LLpZ)=A1B>X)BK@OWQYeZ#wL1}+V~#a9RoeCQ=T-r{KBIVj z(8TQaXsKypnd7g5PE8leYAhX8=|tmZdbB1KF73+^n!cNMo2$U{*0(HFfdL1w&S2lC zSf3d#EfPXaXWocRN4jkIFgKua1;@Fy{OMto?Hmey#t0o9*hnwp3Z=@B4kaGVG%-B? z_|BQ_lP6#4E1kQ*a$pN7QLb^AE|`et4CI(y^l{d1(LUpdGRM_Oy{kL|FMF)2kQ-Jj;vixayz-HpehjboL3x!`9m^*;PO$CR|>;_xlxD*x|8u#X;t>k1eN>Y&~5 z0E{HCu}G=e)g$Capnx9)LpyXo9aWDx0JSX23xB>^x@Dk-YF>eQO6{yf>`T*%lj!9Y zukpZ7^R?n`-vThyJbj8b6FOg`{g&|S?(*EM=-5?)!v{kcM$C$6>011H+j#Sca&r}d z!VSc4{f}t**25u?3Je<>P^i)ixxd~*U>L^EV!I zZ7;V97{xE&-%Ci9&^Je0TJaf!7WST7BaJ8&@BdZClsArXfp@TwUBWBMRXfk*`3HF+ zX?;4sG8YSKJ%RDm+B12f1(bc!(RFR*`*&RP>hZdaubP$T*jPe0048&E8D^1|bN;pa4|pfO^MmG@cd)|3 z8l6n8Oe)SJ`@Y4X%o^sl3=t2v&O=<2|}Rr^99)Ay~i=W4woO7H>X8Wb(FDSmTi-m}Wg z(=Iz=ODfb^lr~46ya$hyWV#A_9r^x@Y*JaKT7Ys2LdAzbF>G?8g?{12sr5dDcXo#V z<3l$=ZGEcW74nqX<7e)kvIu>_J07)6(*_E$>NW+KCv-d?7O+>lj z!zLmfLgCf!Vw#frF!`k-=Viw-v3anXW`)h~MbbK@i))Cq+b*|CwpmLON7-yNf{06L zHCgCGJG@NKD=^B(7u$l4#oJ0v!Q$2hKn&>QQJKTsa>qHQBYgR-$U5T(pyBJ1_K(zC z913(;fZK!0-7Q+qMz4tl(mF zl@Y-EPFM4Zs9*SW{s|p~e*^-La@mzv9!l~OYWb1^Oqgyzq*ik*R9-WOp^ATND$XR3 ztLgXom_oY^`IxXZcB9Lw%xZ6P&ZyNq#nK@s+jQ||Uhse)1m5k`UGKaq z1cQ<$us#ftA!H`g_j0oH<}1L|Q;&}NnNlGlB3j)(ALC12U>`h%+qSFyM}1x<_b{+^ zrS_)hjo@*tKVLXZ=qW1F#o-`oyucFa`2tEG>uTRew|(WGc0t9EQ;u*L%B2zv^FSLp zw*D{_t9w|u3IQ8n0n1i?pGZyXVsgIhc2^Bc%3Xe{mt-kqRm0ym?h4YkiTSr8L~L-0 z*Vx3gFWq!WC30C@gS;V*tMGzG%<@ZEk-1^t3#*lIgxFN-pT8BkX?xXg19qHDI!F~9 zhp_R7U|A2u|*DO|OV*-g;>_OfTFlT|oHI7FrK*12ReJ5FZ)dp4x{UaPVU z(NtG#MPrKWjb!RA;^$v=L5_g=#g8weTnex}MhStV2%;@T5Yl6ZNvUgY22O6OP^EAb z^b^Kb0l=nD>({0uS&(8`-C9yC8d{C7cMTl;hD47k@1~00u#=*Dy<9t_MUaO+lQ2*g^d$io#_pW)FJ z(&`|Aa&AR*A8aW`r!17p=vIm17WB}t!lyIZK{elX7K zk*|~?V}o`AdJNR9EpWDj4~{5=Zea>N6BmdEQhPq>uNdD#`o2$KEVDG)>s#^&a>-n8 zuH$HqG_FY0q&t}SQ?@nQB(Gk@6;$X%YHlP4d&`mFn7(2S6N#mzA3tuMfc@Q1)sM-g zyG7{ml!EBQ77D`^43j>fhOig!#rJ=Eicty}v0Q5u$@20?M)S1wzGT3W*U)7E4fSuv zGgt9T%@iKU-VBBIRnh;IyfS8nY{d4L@oAtpt!cM(*csO3bCDm`>kF`eXEOx_#5B^m zXWFf|sru~XVqZ{XSJD*1`E#sdnCWF6j&d_|HbL=kNO04l=brsAEA8^R29_cbUaeMZ zh4i};?J@ZXfv>AL%ztUSz`G0IV68VR8HkTpc%f9GXn`l`Ao*GE=grVdy{J?-lw9{6nqW@S*8=%gR==0}kop z^;D=Xz#AWYFe68=3$L7VGm~-mg^;P|DNq#fRjlfF7_-5%nXb2s^6fda8cwjZR8~dI z&c-Jc&O3|Uhj7HOYR+rYHor$dII1OD#Um}>(W zzR{Q)Elxa7#!qgfqqsNd#O*R_m2heq@)#A5-BvGUVIP0ULI35ZjD19xd0q3G>F5(1 z%;C|Cj-RWB5HKXbm7X|4Y8IM9N?ZS^UA4mekPuHF6Bgp-e_E^y41j># zuvVJ(}hj8#T30zrg;-7vx*T4r6m6^*;`{LEfn=sXToS6MJrmR zp!4X~as1b;m;92d5MI81R7kg=LxI3p+K8nN8iifF_=yF|JguQ=HqpoA-S2C)t*Cr= zpUBWNPFSqKZ|l>XYLgs&8QL5p5KfgwMhjdl;MOmjO^Qv+4$v1aehOFbYOvX(anRtX z7>HSJOl+?B;};ezr0WQ9PS=UY;+!3#FlRXv4EH_rNcy>uyz?SiL3|`50#5uproTU zQ{l>Ldzxj%q-h=3!~nLwm(4Di))Wk6~rea_Z3LZp^O zW&}kKjNl02lM1LD$r&vjPNx2V(v3f1?9v{Vto*WDoieLRJBuAlTMNmb4ugLy<4RDT zFRc`yT>6iEmad}}h-mpNo5}mY!W(wFpEE}A)_0bH=4KV)jCfF95Rf};A65C(d*P}s&!j7of|RPx z_s(IM5SD+$*^R+i07y;Xha1kE#idaAP8YbYS#)p1GdbZ80<@fRN=a#PKZyO$PEtID zPkfb5cX+DU?^_)_NPI2trXYMz3V>o>s3fCR%i=#Pny2Z8=tvcRW%XCqypGOoL&5$P92T`WxsA1SyCvwGdShumBez&b{S;9uK0 zN@B*z9XUK9M-HFZ{@v~;VS-#Z$`HiDZ0Tu5KL z+n8iN8hM5AJ%q#lTO(TmX5MciT;;Sc^8z$hcJWRO7q3wno~7L3Q<_x;0$e<PUhT4V&7U0Z1F?SJ%ML-a;B)g$%F`PtA;VP+|AO^}UnL+V_d9KkW#(r|hbur!#N} zFZ??a7jZP`we1ep%cH&`VzMZYus*D+F0Bb+*15o$om?`$ilP59rlACDoa&tndLK|n z{RB5PXNiDC7(qEkrJTV>A_sn5bWp-BwuUv#=UmWW@bfo{NOruUT-GWZi4nyU7fFW27^rlb@cUku&BP(t&md3(G~8j?(J|dE+!t?hNCN`2yMkzH8qRPhF+&7|`SLIyzlD;ZG3B7qK zSN=I@^o1j~S94aCbr(KAnuOOjpJp+wOyNIx?ql?~1TI=BdmYnG*cXz!T8guXCFBrJ zw>gB3l}4BuCoZ}>Y&t_A%`0W1y)=AS2RVABkN!v zO_I6e(jztKNH*9A@fox0^}=^wao6+9dpp%{NaiMpQI?E8wEJY6!zH-!KIuQQ({kry z2-j~D`*@0ue*PFiOf1CP5H0|ibenDI02m5u{h?OPq*B$|gh9G-S7UDJ@BRpTEq6VvOv|j{m!9r2VSwV;i_E6`EY_(= zEA`l;u0$yG@S3sXuTc?Pvhj3Y*ciaF5Hi#@*M;_|Z^hqk!UDhmtSWVz3pe~|EhZdtjO37IQK8eV9x}XpF<4lJYm1>8GRAR zx|V01RPtmIS{>m>S^FNMZM%LFZ=)(_%5XRhV;2WL_1ORv z^O!po0u4m9bNr)XbVi8=@vO;XQOD|UxJxEjKZ(2sO~FZBQ=iwJ2G!L@iQ-!;MryZs zO~hQY7M#enJF|8`y?W{_{`s=bt6{W~KXG;zM{V(#BKKu2B5JmdWz!CWl?rUd{SI7G zL4J+At-aPMH=opH9hr%QQ_d<6Ya&f7{AE8$51p8~LE5>yZOlSpu40tPhxLI30V=Ws zvHJKV+`5uaEOL@wA6mIR8viTV_bVmGT`s7WFR%=&MRa{JBRBl$C)$V*aZ$-%3VJu0 zhxDSpt1zU#w;8}#ZjC6GJc^yYelkd@vCFLrlcU>7lX+)hm0+V_wVGM8+b-wUgz!dd zQeHf@t~B;*$Q9ow&4XP0$%8Jk`hl2LE|8}wpSDfG_m>5&rFuLlMSXTgVT^cp4rT7NGYFHY4>P{(>Gu ztD_OA&Gh+B?uf$l=TXH{5bS)s$r8^qmm zTp7`UFzso)8`0doMR|hKGl8It3BERs%jrO3gFrngL->Q@*w!PHR`cAO-3GJNOdhm6 zZS}ZFv-xx`j3o5|&-U-&iCIe1O_{d!^JcDNIL)a|qdQrF$QtNtQflv zCy$)a)=f>b=DvB2rZzF8GFo>0sz?Ni>$*(U^s6|21IC-*U%(`xc&6Mi5DFvM6|e=a z0E%654;U(M`np;tA(O*QU*2qfa1H?B^A(araNH6JZ6u;t(F0)qLk zf9rH0w!!wLTwu0j(bGwG_Kt9DA&wT5xuSt~6JZs1d3eL9@Kgl*z9J|Rt&g@JFfTFDGlOVt$=4kv+# z?WMD%Xa9p-#CkUfQ11IJucsI2br)0&a*J%6zPSw@afe7uDD2PyP7tFpmgwiN!Rp)% zOW9ihzf82CRblws^Gc&QN(D5-%X^gTrg;qJmF*xs2B{fc$t)F9UvO2Vq2DywiQ$kZ zC6p@@Mw(8UcKem|FjkzAT%0)KlC*ZQ1F z0GdRQEpCJdpL!Bt!-UK5L{$#;`gw#An^xLR+WYXbKLow`suA&6fLGi90I27&5@dY< z+p>r%yTDJ~5X)CziprEe6Ow6aDVwt$kwWu78`FG*b6Q=4Cw;-sl`+*n{riWUWAD$i z5OO@sERd)KD;TjPrDph@$d&C^&hQ}dw7;bzqoXfzvxv}S4_-RpgSxcRIbA&AYFHSp zb}9ATBQJRHXpw+}{uF~lo4`K$;(2CQ^MW(x& z5bo+Elsic&ckS0^aHW+f1kZ1}4UwEpK{EZ<6nTX$7wcU@?F)$PJoh51PHT^|15%Yd zk)*J>G*x8j(T1hh?hm)JnU4J@v3!Ph@yo7y}ew_#rv#6`;xh)Bgy6CseH+q)jGE2Qb&B{Z>{^B9pzMY$vGCGYk+oLAF)MpVr=KPGn=$vK~U4e1w$ZaG3AsLK65 z(#@>zCtqO3)E3Y&rWV^whKye^uBkL^&>l`ss?I*>? z@3z3WAbRpM``wMUjKHh@{t$MmYb13+b(^b{=EK0n3rDDM5jXU+axxQq59w}n2%{KP zdDvotaA>uZf)y9XOv!JI5OhK^@TU=Sly&+EwMT@t*;Ge*88EM*=JkUg)=^}Vkguc+ zW--*p3UYJ_Auf3+hrT?Bp?JudM7oNAZTZ&G1&})y#XscI^YW4&BdkoXyMuOycTA|^ zulQKYUv}p_9VuU~^G?(R(wnYWz(;(UKC!!WHvvIz%d{q>L$<(=0vo?&Tonh_V@%X= z{czm|9;bMGYvL1lZ=_`kS!52TJ28YYF8Spi!NdA^VXfWdmGNs~m$uVME@>wq71o*M zE$PCMzAwdbSWXyt=_HkxjRJHN#$FwYQ|GuGS-8_`Umi&I+MKY3WYjZv&IqOESHK&} zesUoQnKHcF&`-{@j$!7$W|`Va<}MA3zru(1u*yUk`)Ov428 zN-dA(jdkbfiwJlv%n|;wPl~pW+FQFr^$;0&2TT_ot4(Tp*9q#2O_EEjg5*{CiJ~^v z_1neq{(#YALE6{JlmHwZ29G58^HCI;Jm^ke^f?8x7knr*S?9_cepUa{^88ML9lkl- z_tyjGv-xE19Z_$o_YXu?i*JAxlw));XHuqRa_U$&_OID`b_kUT*PGXPoYv6sXp!#uc)QuWl>)1`T*EROfidXDhgfehZFkENRqfS^M1 z-zW3)ji;uVa*VS0`_kY;>q_9!S}Q6;q4h($5M-z2R-rV2Ss48Q`JK5PBkOXYk`nbL z#Rc7G32k#H0%+UG^}gZl?sWyuz-eM-oue_wbWUgK*tQ<2bi-SycgR9bn0c!h8KjSX zuP6>36qZ`<1Xo+bTE)A|XB8`}aEzn+MV~;is&}pM4%J?QE?x0F>b-rRh-eWOW{p(~ z`+xFPLdjiSC!sW8-(?t4j@v|dquK{uS-;&tW3&eTsCQ2wL+i3j0QptAe@cgTLZ#hz zEB*-*71n!>GgIxQIOOSV+;l|i%lrpq0!~w}48D#eH1PH4;9N7pBAN@cvPKg=h0EK- znhGo5pIlz=_;HQnLYcp^kvU|YRCwrGG0J#=-(SiKk@z?<%B9e+GS?o01+ zXnoxJRBYB3Yi3#*5?*h;u}jwkLSqBZHuKdC$-v=%G^IS@!Se=Ba9X%#gkc&6#spG{yTStPp)Tm&I@y5INb)v!+Gy(D{a-4+Yv z&$Vyo&+a$G=*YO+-KeG#KHxKO(I zZ5?S;D!+M8@38w%fpGyu=r|2vwmu*V2Yu7*6)6v5j(H)nUwCD;vbs2;Vy|7LkfP#6 zw(YYjd^8m#Pq_tCL!`aTM3PV2TthmKAvsF_kI$RFlrwlreO?h;#bS+E*LD!7S{nBU zMkzdVaBbOj6zC@l*NG)S+EtvO^;5BcP#kOj$r5TL3jL}K^nGYi!Hn)oULhgmR`WI^61SSUE7W_ zMcRds*+`Sz__!tz!U}oyS)RM4ygd&rnU)Kna9@9svMvg-9t$O3s$h~0LCxn#? z%}5^D@<4Fht70uWi+bUMO9Xm#E>LrSce@_N7m6VhLtonRM;cc%1TfM^xSB zb}cp*WbsU#hSjWedtBLBjAQ3<%Ua!28LUSf*E#iRHK#&9^$cjoKiy`oEPN0 zOp1zS%X?-`z*Fc712OL7+~WUpg}G6CWqb3QD})BAmu8Ql)jXs|-U%%S7@s)XFwthF zVLNZHfh7_i*8mO88P0nL3i5eH$D&5>VbgaR?yuL{?nU)!IzmEOixn>xOwjyG2hoI< z**2M1o$_=!@keuO-6|m9>wS(I%fXVHGt$&4e~KU=C=IEJC84GLzb&ge_DVG>2{mxh z_N3`GrU7AyZX*iSzHb--zWLC3QdH6j+X=+??t`Xv`7QHOSG{R-8bj>F#V+XyABej# z$~r~uNzEW)ND-NW6KlzStk3uq9i%=+Zkw35$V#8l#X8qk-)TFJ5X_eZBE>l3w3E5w z2;6^>&FvP$luhxg(nmbrn%6upBOX=FC zMo!{^++a^j6I^6bp^9My%iv_$=ukLvgj$U|0e;%v!VOI#{lCReoEYt3V4HIma!js` zjcZ;*F~0X>L0NPth#IkPTu(U7B68OW#Ks?A`T_a}^SRTpR3_*o*yJ@z)lfwuA1uxk zA5<=pPa)~I3^gWP^c4sqHaYzEs;0PZ-nGrHka1SGhFRi_C(TvlB3&(prET@^OnVm1 zl+M@#Sc*p!TN2cvSNVDwQS-3-dl%MO5{2SrThu7;A${){#*2gpq8Go!H3;jP*E7GWWi>JGhud3oa9jZ)e$N|k+!nc2*cN>1#ue-1cQcA1<7Ec;8&$$I+l+O7IN53P?mLE7C zDVxl>eZ+^I?+`q3{FdVu*#`KK4K$q>4F^92h8%W-m|9Bx2AD{k zEO#3OWQxZnY6fCV=t=1*%c0+Nro1)!NaLDgBwMZ*9gwA^3>2=khfbUpytrek2@}mDHq|9kHs_N3UURIx58&XjLPi7 ziUh$}p=S9}Q%aAt(+PD(`5wL2#eoufQ^C)V%|5|*qJGuvE5a8ur$*2OaCR_*r?xfR z*SJdG$V9Q|T8nFm@D*?#F8Xy=Hcet#vb^l2fp2X3%j3(&_Qxiy z{Np#9ltV=fB?>Bh@V&fLHyk6lWo|1_rs;GuD?ZGe^RBro^&|BT^@LB;wp11J<`=M| zki54EKqn&k2RKY&?|+Z4Mp{n3k)XY_wHOH;Uaw|L*J_8qd2x7O3tWbEv z^`H$$Wj?E>m0AabPjK1y zXc$;nwlPqPj9hgk$g11f%8 zD2ukHvBw0}7cx3;+zc)zYp;s^W<)ls&QRn@W9b?8>>h)lzCzL)_vtuaQ}BM ziO-q#s#UBNaY!WMapZa7?JF6%>j75IIFOH&gJ>$Ua;#hn@Z+N@eF!$RxH`Ms?W#IJ zkAiK^$`Nygvesw^7dzi^8jF8#uDDF(z0$nBiE#dFNNcSBc-wB_3ToHAi`bLzrK?ye zQ;T3&iGL&8`x{Nypfd~i&ITvigvWJux@0Nr`U=jM!keElGXgX~CW$snN;apSR!}TZ z*!NiWNh-`?dgdxt$L4w{WOFOwdk#LVO?ywJ{}ZehqzU=<_>Hf{%ECs+QsmU-O{?TX zAP+}YX=P`0ruP*}UhhdfZ1&?2yQ&QAs?(Lls^oS$G6c5wzB-@hmGS)_3SB~BHM_p& z2(y*LPnR~d;d^|CR&R#IozyZv@=M%-@6sb`F+ti2zV&TO8qibLwnX>2^WYtuYsi&7 z8B*zxlBQntwRiaxGZQ3RIT7y=#!OwJr2P;Uoi6c4m=-|>Koy{a7j3W@Z(Hd9sC!!p zqHffn=$Yj0$}=6kAkaB*R;s9NIz1F0+|?yyr7158CUBZ5!{_kd-)Jvano^@^MUxpb z=PLV#`7BuY8PYHRl>IK=H!YDwi@~p#Qe3ASoWj+T9U3jEwavVeaTVJpu`Knp1sAR(DKsUL3 zP*#X;Mo*x$Oyh-P_jLX`aK$E5LwS~jd1(>CAMSY|MUr6(J?|R{;ucZ=(g!wUWm8`r zFC#X*x)Ydt%D;qCv!#OAhg3NDyezClE{)JxXXG|;&I$tnck-5C${q@rt!1{ccG=#v zn;lm;STOB&`_VI+DV-j+sI~GMD2>-dgzZe0>?67fO|^ z517S!-WkvU<*TsLFieW0iTG+%6sCyL8j|$QknYlt=^0XS=#BbIgiAz96|>gINQ${x zm%#t{t;j_7n^eOZww$wG-7a3vaf}MXg}&_!;d|wFktPJ8Vt;^<2~DvsmSk??^Y+h#4a1egZ?zOmczrJM&6<8T6uU=+p;M&%KOth<1n zm8OAmF5{`6=B!RHn=f&D1_(z1w`;d2R#YM0)Oe=)p0V1@M(5PV%*o{BPh|F@%nu%+ zS_|gnnhJeV{NWqnA}d*UcZNCy%Y>Vu!tLGojL~Qd&sX#W=X-jNV?-`m$nR}lh_JAm z*t`L~HwyWT&Meq$|4p$=j8WF^Bo8H{9h~(Ob0iJ#DF-WT&M`T?{AAFT3o=8p!_AG7 zRI^A6+h;iLt+T@iScF31Ma%&Q!ujS8&$xltVH<-y(dIsWZ^PT|C{l90c}Ts4(iaBE z)n?y}R@VBIyoWkBxtHlmY~zIUbZSvT#`_Y7HNiU)nL9t%@LlNgTNDP|n_08$+yzNe z!%`R8GJ4tOjfkjFYz_FYFpbM4S&$9S^zS>vPt&umk6ambOyNBNjBOO26=^qhS+W!j z)h31m)*>$yWkT9Xfr7H+=8F|l;kd&Azsfxxikr=FUJ*P9=8@I=hS!DAZSIr`t-bMf z&-PYpGp8S1ug^I3)=n;%Wv-d*76d1Y6S3FO`iA;jf5~mzxP?5tO7s6~l7$->H~JJp zdS&r30r@qStwO2vP9nz1{-g41p%hQnH^6!7tI>6z9(5Z;lOEFv*r0bi-f6kF{*p}B zEXQQD4jziJCmD1}yXlTLDox{p5%EAGe&}~1lk4NIgY7Q1ho0g~b7bW}(a*%OL+At? z-~K!AWPa2>2np=ZOj?gDzp@`W;wUgwNmHNuL%g5`xqz30XaT=ezgPQ3?=H)hM?bOL=RT?+TbX@}_>1oTCxz#WE z8p4U~%uLgvuL3<-*3}G0g|Q}JO>6I`!)xfTjg=X4-uTXekevKiU`I1|BztFPJM_wJp;I&`i#^kd!rsWUKE3^HCK1UWK{EqC+AsY z@Q@o@F5qJ65wVyjW^m=*a6)12Ra!O~T%puUwIq!)OmoZH3J7HUw0KM`C3#|1h% zmqmoulq~a-^YkGN$rX1+Mv{rMXbyouJ-cp=I5fwYp0XJXQYC4CNsHCNITt@2Mnf9^ zE$A$Tgu5&p!+MA9P-`w5KDUD7djq%FoUn%4=LtF3YV24sJJ{VD z-W-8!JibcAQ#ewKg!15}ke+S@XEgxvW8DRhtCiLtWP^m_l2_#~pyY=qV&X z(tLx;3RQCMKWZFEvBjofaLKKJydDu3BN_?oBRR2qcy5vM{jofRb5pue)9(cXh0L1W z$)_YZvA`xgqssk+M%*CR8ONiBIKv&yQ243_9|Aou#Jfu5&rP3SUqVd(u+eJ#Ej|DE zgC0y$Epe%MdFx!JldaE?K80{Y$^y9RSSRfF*F8w?HpQ(gWW!qopQ7uwd2SPxD6jiv z6(eu5X?1q%Dj~W+Lvcmuem%Kbd%#;DHi18kV*TM(p$gMcWW4Zb);$Y%U@7iMZrW)z zdXk(FrMvq2l#3ZMKXZ;lZ%rUWZII>F4-SB?x~-$eWe2l?L%_LM-szg>F`U%640^eaaIwl;?DVeM7ga<1MLRb;=*8JxG6=S*Fo=2y36L|RuxJ+ zzF<+H`p#cyoo;7qWb{r&3FQD~7*$$Oq?S!^aBopo)~TzIOZV62{@w;A%+9Z8EYc+j z4^P)V+ua0cc08Y}u|j&W;~^)5nT63fSIx`!T|94rYM|4a5Nf0EAo@w7G3ly${3I@@ zk2&`y4Vw?)zK<<^l_SH!=dl-%f2e>(7e=-d)zPOrv3UG2q`*8g8Z`KHbrpwdiDVP3 zK_#Iw|JkzSGfPK6gXSXg7X29_FI^2u*M|Z0VH+%wkMU1?!$*u+f)vQ{41hl266ZI) zRvB@qff}u|jSe!j_cmvi<#~8S>I1nzuo~9C`CKbY$`MT8eBAu=I##s%9w=IwwV&Lu zo{E7N&*HrnuN#e8-Bq7YaN`?57QyrIMPLwZM6oPSVbvX{iDRO?Y;7TlW~EDMp-Rv& zY_(;Xo@Yoha}6U8%aXEJlC%^@9LZc~qeX$0+-gCL_Sbq-IeMYf$AGuX#i9l=V{?&o z{?GVk`pR07pDEG+*6CY-;lo_xs$DPc1 zRF!fW z-7h6buekAsXjcowVKbvUXC9qinZ=qjvDYc z9r?0$G3&Mwq!c+xh8}3xagQ60PF_~%LAcKM9pjb23+Mw^y1z{|bU31^q*^`w(U!+J zR}OY+VG6=ZS&meEa(U@_Y^PLwM^LvXA1)&q9MvID+V%_7Ruchou}wqW2rwa_p)p%P zE=8i9H)hApTbsv_ipF<%{o|SHIniyjD5MfawnIm?pR3s2iTI|{6K^ow`IDw2W((ih`JJ!&FWl)N4X`Sr|h46K-AmNLjdl$i1_|%%VfuUc}kI1CHDezxvd3_Xv&I2 zNI&~qy-ZodWS8xqDW+LsNp^#Z$QFhW6DxoVCK87_whA1)K`k0X`nT?*?14xIpHd(GkO$>Nl0C-MKbIVI;||{JiY*32 z{GgL+R*j3U(AgbcP?I(!3oKm}3g3|au3wVokJ7lmxJ&^v8H+;$Tz0*5F)}c$S@xrQ3xJJSci)vrp_T6E%L&o86t4CbT*pd9Z zeGijb=RPL{qCbbjACM`@_|MD1DAiUXF(z*bs_p;5|Nrp_m$am3KyFX9v>0lU|flm*jq8w{Z0nS02G@2$*~ zjUSDjpE6)5bI%E49R}kbrPOg$2$LTlW2Way{Q1K`N)r0S^qSF@CnPtmM8KBD_s7qw z%wP_ZpHg>uFi$W5fVxj+gYGh1%L0rutIyUz!U@yDdRmcjjvOSOsE3QH(~yBNaHS28 z{-^j4u*x+#Nogzk^gY+)d2was)N-HE%D(~~mxI%1l%=K*4JEyy`caFmW+ZFfCQp0& zhwKiFgSZ0{B^qJe{U&{?Kmg6+?`!-Q0#betseX+texZy zU;}Tyg7Y1D!WhD-uMVf3Oc?h9TA9u|6nEUheJt}dN`FdpYEnqMEvnAxk$p!yJnf95 zUx2Z^F6VsY1Zsf*Q0wKk*zj{tSLuM%XRRTU(j`Z`$z(Gpy*I-+>MdK@6XXTRc~r&B zrTFCLl5R55h7RPUqeA2k3Hu*sabIuyN=$to4f4sGoU1NQEMsmN_PKvcFD`!-FAwbeKf+DaKX_7l{?A!n0>kXJh~3?! z3sLeU$O{bYa;SNeQ*>raA#M+Q-g2$6JZA%8jTv=2kE#qR>@!9e#n8GLsABJA=y9RW zxIf8EtiSZ|(rkAao=B)!U&2HR@9n@m>z?~o1KqohIBvO!o++>tnBg~bj31^5Hc;beF&s1O}H2_Uv|hv z4AzZuENq7jIIqD^O%$Ma}AEO)tNP^6wA_=)>TTk ze1Kw9dgR|SZ(llVWGHQOBZV;H<~&VLIf~2vTt{m$U8P3v{=#S5+Nz+sI@$K$60)m$ z8au@sXl77G%y4Y)=^-4u72q!|ULc+J`3e9{#qNcbCd_zj=@_IF#R43HfE8A-;lY8A_(brQWj6FUHaCV1~qU0RdFWeM#Eia35ueKjL%s~%2PrCi&CGQ#=t9zKE_e;Tx{jQ zS9;FRd@-d5>j1PeWJ`B_9<4=m!5O*)Dh&U;DmFJ{{i={=TH@(`TG~|mKDtjbJ@crn zG)O0wA1ArviglYJY`G;vh@RmQcoxg5hL{*VTV>$HV1d*yJsr0M0K+K*MWJF~{!m|r z4qH?&pA8NrhZ@Yy1B1T zrqs7I0+s-HPreAvdN~$GZbHRXP3La`nm1s|=?;RV@X1+Oq433Z;?+(2kv70X4)iC* z$MVgG^y5X9>V22=8U>P4YeP%nwCxvTA;(|7R?4XacHzlB8sw{cYAD%Su>D*Hl6fUI z*81<9(GDku?#jl{48fNbKpa4(!q|Yo}#%?|ZfcE)7 z!KDl(ppE}t&9hu;#1o-3eWRE*7Cknd7YVAudd6(=n~mdbYJghQ;Z@Bn03Er?W+QvN zq2e*KSr)vWz(nDl7|2FjqYK8?k|l|mW!+haI%#C5m5|K?zB{sV_lh~B0c1@=6r%K1 zN8B7Zw_!4mR>fEH6rpJsX;=M1m6kP9|KUgMG0kmClH#eF|GZaSOre^bkk%dUMu9E? zEgX4zZ4)@>68H<{-U>F+ph|`U>c`7%)r40DxhUI|6`3eEhR~!K>=7*hyQzl4$=iE! z88^OZf}dYD(mrEv=(0jo+~KEe;PFSo&pO_{AY*ZnI;?}BaR8T|M(##hBF{veX~bZF zhGMXw1dc07LJr3zj-);VUKOp#b6i@ingt<*aAw>c){Wv+J;qA1WM&(q^%n6*M!>V- zi3>EXE8?l~VLI)mIP>6z<*Io5uGHUG;Rt}^yiy&#Y5Dak)pQuvuyS&vxwK6rn_8E!u0Gy<19=U2lpZp&(zNw52{ItpP?WtFDn zY}Wtc8mcBYl}f3hWfi2~bmMl%bWCLH#RpdD3+H|;JWuI|G@WDN0IBba*`m!de$fU8 zC%~NzELq|8DN`Z?VvXsix561fEoxg~7pLh88>oh}NtzFEurES6V_ESqu|-Ttx=*Dv z@d~3AbH<`A5p9H`?HNT_kii{l<7c5aZ|?ud;))TWIAQ~1qV1B1j&;OH_bZx40x2tNxnhip?bSGo*eMbUV6 z2WeUaWIDM-rzR9WIW98Ow`)O!j-Oa(V6nH)b;03gH?TSf0}nk@Y+QYe)5H7QI{_(6 z?7(M)dcTUge&N^M~Wi+3U4>t&L@2k0fblahZDkE00Quau;{wY-nv3 z3vH12tYqg2AjpZQYC=1Jb-rSaR72dLJ{6sMt6~l2;SeZ|fpC%2tl)T)aI2fBCrtm< zUTM~L1T>=qDN9xjAOFoKBfz-^@ggQM?b1PfV?RY{h^C3?G?c;*JYRN#hq0CAloq|< z@M}{aAB=#JoX+949qE%%*9{N3_z&FZ;quuGSb>@utP_6-)J;|1Re*JdOXdaGM7m|2EQt_iXYmTCs8 zEhO|Aqe2kWh2P|UEj^Ie{cv`?>hNy8U&&4dlu*8L=P_TSqP}_(N&1iIV|w?V^3wHO zRH+ZNWa&}hoglnCI&HA*aQIJ5<|Yi8I45}lCICi*qkfNl7}vG z#u`a?C{5}NUb+s--f<|1w;oOZ8PWN6$Bi}eFRct=dsJ;LL0ipXfzGEMBbH<)ST(9( zuDgAy@9(8VnAYhj4pfAF^xVeOe|Q=1#B9(LOCue3W%)SwY$xz*+Yn_MhqvE44ZtDT zf?0T5lx+e5ve?o5dE#(go61qh{@nx7=6 z>>~P-dKQs?aaHt)H0q>6o4)Us6jUL7%HpW#j+>n8G+sd{HJc%&{YLHeka02>92{Z( z9BV{y);0wCw9iSkMTYaChsWX8>o1W%Sxqy6%{gU5XOQmUWRFBcB^MrBJGwifP-Qu! zNy~I~H=x)VSt(y(>|)Ecq}M4~>X-{Z-N5E+6&O)IW?FDB;5-k3c}UlcjG^B*q@0O1{$4R%+wobp+MT!_aXN-)#{)%-YK9D7_p=6vB z@;=;B*vL8Ls;!1J&8}U;hVIDsV3MZ@m!0K0E^BsXB-suxStT)bw%Mzi(X3~8>piC2 zbwTgN5U%|V{H2Zo?&iuxk+<^uov)yNfRCrD-qXCl!?QI2ttdx5oh12Et&l`GKs8^b zss!AHl55wPmK!VbBN0gC{542ynzXi&f!up3qn$cV=l19pq9;us|1(v+?VN$FJm~!xLUqx-S)lUb zx>Td+^5tX$r6+S?Ccn1%ME#B6Y>!+pTk4SR&a_1gG-UopHWeX*TlE`ZIU!j(4T+ht zO_r-0r|p?fsxQD(lni=KayH(`lx*{rxSSMP{S;8G>}5&W!X{wA$g3lF(4V66XKqqh z_pQ@8G!c5V=Z;pIDe9CSLVIQT&AKx{XsQN{{173Bbk}ujgvuFsIp1?R5}c4IqFcI< zDr`2v^!N@=PDTQtjXH>e8OcSYHAFZX$CRDJL>*6IWmF!)Hj7nVMWA8TVvjK?E8bwX z<9J4t6aIGZVnn!mwsCU?QSl~+Q9hc7@-$2N!chWiYx9~4`}A+cL6 z!woByV6=k{vE{27hrm0#@tq2`(xkxNgq;6tFqFO+QqT{D6q@dORg=n*W3PhM>~ue> z!A|$Pq>I-zpA2^Mw>2BtUUWZDN6S#U&4N>ys`7qQcT1=n<6(A=|9M*qC6*=A1}#QO zP9J@owV(Yjkt00Ix8Bx!^3bfIRwq~i;L)I9evdRzNT+^Hp|&ZPu@oUIxZr&U6m^>Nww~j;tm|Z6>~)S8Q~?}+%yfmd<nCJw7QagI1=Zacx%q^6G3!aVg`~2 z!an{1UB@yBY{emQiKl121)t;_CDf(kE|{m@E52e#d00_|L|e*bVVMmbLtxgBa^4xZVrWJ`UF>Y&XJZF?`+fUEN z=O4dIy)x385QdR6s-cpjIqR#55-CqXj`6HHMcMBdub;8Q8A)G~PkrR_sz7C8L_q;* z2tiRvZHWwdt#RJnOeS#gnf;io3g3D!C`t@wx4j+NLP~mWWjs**%@;#H6wKsBh_xX+ zN)m?^KHbDj60d?VyZ&YgItf&g5^6_YR^d-*dH5BJnxO8V{vFKLdhT&AUjv1NrgPfolAW$F`eb^VLEy?7%YiMyk& zL|+&PwI0j!j@h}TFV{;*FZg!4&O-JHS^(OHAQ}Dgxy{UiyX2nNFmO-V6_En-WCjUU zl|l_@&$~{Y7IXTox+b$yF{`^vM%#BvlNNy+Mq%Sp)jEH!G=&+vxW-9`1S_J3R$Ld0 z=Zs|*gBH0_5^3p$89U4b{JxejG9l`YlGz(o^QCrDZs);64W*GH9igU@rMAYJ;lOt} zgW_k=El|xL3}MoDh%Wa`Rp)m%yWsypBh6Qx9ud>8n;cMsZ8$#*Xo&k1F8_{?%zb=! ziDE0v*5?!pQ)wH{mxe4VID3X1o24YDgHLv&ml{33Mmcxp=>&8D>8(q)$eKq8q+`pY1LCBl=&8l$E+Yu8s&nv+d>@`DT|di%!sAd|AMbV z=^SU6hmuS-#ysfyF%@MnW~MT^l*P^*vBAFIT2U@t*P-6$gAUptt4Z5LG@XAV&Z&kv z%~$(?qoLWpz{K~^p?846Q->R1@xn;SAbjA?gDf7|Rx^RFY4!6ppgA%$)}#9t?%aZ5 z?a7%Otm=#0sZlkz#m-ODB1|+Et;pElV&F_43gRO6`swn%SrpY0c9m}XU#kngkJ#pQ zF6~S+$%psjY<=m`7>&0ZIs&OaMP<-dj+t^Y^&K{0U_b%hnYDZjZAPPQNo3A=eU5L+ zQR{SQw;mbyxmUL+IY^g|K8Ev{w}6*3QsqT1XCSldIH7}beN*5Wwd__a^~q4lGXSl| zr{VBTq?18sPCCol)Ss?|T~INugK7dfpvM-#uC*T0%8s7~jw0T0ZqJ+q^KEgA-Hf1O zxs6bR1#1FT35l<`C3RLesk~@S10}b>cz>}ErL%{zE}Z;!Jh;Y0q60+wn=OOBk36 zUd2sJ-W2n+0F3h;kdsc;=neUzsYsg#;B1RfMA)s?Z%Dh z2uhEgD^<_>&14!ggl{*J2Z)Dt2UC?^vVH{;34I5ZyU=(enVMbfzBCHndS$85_5-bJ z(|OHdGyC_c9C_9FYbJ0vn|AEowx8@i0?pN6fReEnqwhhyt10tDj|nOm7+AdcP&8CE zVFh7cQhHOHr_2n(o6uQ$qV4>Ux(LNG-(gQH*OUb@AzPE}lT5~19Y@CI)RTGQ zu~X9SN*dC;=UgZ&Tu*$dB2cx)o4z@sMGk6W3MLAfrh^eHIq3o4RAmEFsR zqSN{S`TxU9M+%>AKWVnrjO6(1W|L-n$(=r@@y;QA_yq57sO92pMB1ihA@@q&v|U#a)^_YMqrqxJ?Uri2uJbBE|MW?m~@; zfU|8YREMhXlg^D^mo9u3wGXoJN)BEqLI3FuJPv_5{}0K;AA1w!Y=Qm5xiqldWBtYJ zL-qJlXq77|>zzyg%Q#`1zf`f`_U!~jx7L61H<65xSyG|FZH%xwqi%$3?r?N*6C(Tx zmhqjWx6{VTMRcGv z-Q}woAUpC?8;^6SYmJ(}MRbErLFabbYvXt>(XxCoIh>Ne<^HcP1uYJTd9u9r=Mp+$ zopR-yQ$_03^DJfUWw06=(y%|*g14Iu?PxeQ#6RvA`44S39R6rgli#N*T1)piF6ugH zEv4(GO2%=;MJVm)b|&KLBpP+A;p22191y27OSoqtJV=Nni{j)RWnJXCOCf#y6+jqc z5ajd#89AzDS3oUkFU4r3xG3_o$xFbK!cV}O(w)mCDY5)E-R%hndNYB;vn|>aR-X4S z`MLDId}3#Cd8$@@+a{IZ;?W%)Fq9)%JC`@B(BxY49=puF@}zJ9E7zXZ-w`id@zAa@ zLO1vcEmFIUSzA)g*ZHqvRrL&@)saj+lHETjA8xBEA#?#VgDWf|U2Hs2I(EJ}cl+LD zvOpFoM2cWIe~uV`=jXD6!v8Ylk5$zL2S9PQ=5df~UGviH<;~ zU&pHjnh@HbGtbFVZ1L7vqRtR@R?8A1X56R-s_c1YBia<(qCa^yAjrqqH?(6YK?F`E z@_+WROpsYXq+5thP#b{V=UV@AO#d}}?5O?A5uii|k_{M7#)BD`>D_0J)1oOPWD?gJYgFWws z*bK~57x%2rr$#SpJaypGU%sq(l>uQhx>S=)O9mW#C?KoU!(m3#GEd@R9^3^(-xwc; z%Lw64c=%%J%4?B~RrPQOBrV`o(kQje*c~Ht#7fvJj8N=4RjWU0xz1;em5C8#8nNE5 z-@V&0t7A4AHU~p$Mm*e1I}gbp-_i?L!OInh{Ba{G7;>f*Lz@Unzyg=W?3g#-s=}ix z3Ts9x7TdL27xgjJx*Wt}PDGQ!yGnb?^eq{y=UO3~o~@uJj4|ZlnH? zNR=;-VdZfc;+)Za>fBP@>IvSrQ0JCp(5$)fvY+ID^&@&T(vi80HD6v7L}J`@P{v^3&pV^IEka)%kpaL!}SC5z*ng5kKO`Ov(PN`#EX$k0MZQU znz|4ox`L{up9$uG<&FIWmQZ?XKkqNvagu~S&C(@1`D&yvI<_$qDbgE5Z+Bmfl){LF zn}_P|b_j>+4XX5jtbXZeEk6Poo9{GNT1}uX7X|i-{i3QRG)3A84q<;5N0kRJaRiRj zIO1cws>vJKEio*W3_(#>m(!wvLN{&4VEI^l?cW0(J#a@teR5Cr9fS##qYH^YWeuk90$44ULM;57>9aH zS||u&-++p03)`mDL=oMC7wn@R~$6IJ9Eadia}mI0Q$E27j8TZ%^ny~f;Hw1^=O1P zo*rw(vdJfPww#5{l6@^t;4L?ZDSX^M?rTl!-5vPO?FoQXhyMTgI`6EF) z*w)|Y`<$731N#2{ASCzBobsHfx8q#nqwz#T%LhDxe(CeJ=*8WJNp2pl!*mZGQ01*y zKA9jzlz9p}@y09j?B*}Fbo1OID#wn%UBZ{~;cv+@vpZ<@oo<}zF;f>yNMJ+_Pd73S z|CJ}xij6gS3VWjQ8etMtDc8RkDYu%RE~QKUZXUu@2J6__Oi)GR5`fM@SyD?;A(p$P z6I;3EaKbK!{vf?OTE$Gm2vat`+q=?x$beH$yVuOLiM|b3bsuyU)H8Scf0WP%^e`R% z5YE*u;@g?%gf19Ay%P0a6KJWos6$xkXIS9TBU{ii*yAli^7TV(*F9#Li?7v29|s>X zhNl(EL)yL(2}fP=7M|{00CkV&N)EOfOlh#Hz&tdxTPU@XJ9?zfSUY(NiC9(6qlhux zKERS3tICK+#{`|QyqyHZ5 zQ~f;J6#fTFt$(H>Q8S5HDSd%;C+P)CpG8MkA5-H9KD9`GJo_{8VB}0=v$hoc;{CI> zNmBHBJW&IoR;E#*2UJ#9DUmoS+>9HtBxXA&Tgd==Qarin2nIY9HeykpVHn-)6D!WK}xRk4OBN>;uYg4&CPhcw@ zh!M=aN%wS);-0189eX-<4bKhTyvVFsnMxexBuoS|!py$Wamg~&Szsp2692K&3Xc4h zcWKX}gJz$uaI)hUFcW67xb&C{S(U4kAhdGv{<{wNq3Wps56|de;v%0wNv~sh2aaK)P4BTCC^kSAI z)@V<=1$Qvzf`?RBseGv;=33I36vr(3Thgm{;^8M2DtSD!7A}B3Qx3+^m!9MCRYo#e zr~qrnI^w#02=($(lSfc>!cpsFkhBoZM%Nfeh2Ck-m1)1qIzsdLu2M|6Va?kTg#L2^ zsyjZm*0(A^$nKpXXS) z8aOpt^2M43*j9n={=cyb-($#(5bqbcs_SwUk@^*zE@%{%c+x2dWAG#YfPe`B+5Ady zXS6*kM1JB1LI=-TPno{j8!^1IV7|_WH~5__dHWzf6eyv`6MeMXak zIri3XFw@cw`ap-F;m8L)_*w8R&AexLy_eZzt_P3We1b)7FO;K&Gn%BMK6IaA7dLHe zOhD4YQj3Bv=fN;=G&02O{Ss_4vbHy8_t3O*U{T5VnQbs$(;t7nJEfe54KJgX^MUf} z1B9D37hxTuj*yCYh%)h`@>MQ8aiS1q<7m`^8sk9}#wxxv3DDE-a^_JL{1|TClu*dx zp8sL#5A7s7g>cE}wolkkH1AIpW+&U%&3rmxfMy|6 zl=Y>s9cM!kXBW#iK&8G5_pYn$n4ze=Fb)uJya`al`o-71cG@s2%Le(7q&AU{QVe5&7cD3Dn zA)#oQ&`Qd!4t9eA<&(ePyOu|Wy$bNudx9xv!9E{H=BA+>x1?H;77IAxNR9iq zzKo&7W3OAFvK9#GOo;HiggYuhSlQFqJk;)9J=ks?6R^Zy?8)#Pr{)Q9J2dz#r-TzO zSV={0(P1lNoYeKfjWgGlsAN<&mUJGg!#Ag#M^2-lztXZ4>ASgZmB5J89pMOcls2nt zKJD1Feiyf`%X+ck$uCTtH75NG##Sun6OyZHN`1u770s<7FnjV)EEm(#dNlzU%L$T> z>`SaP0kS$e?=IgnUwqnwz(rRVR`QpUG5y-b`qtm8pdr;m3WtTC)K(uL_%Z+T)*4&7mcwgDf#U#53yk_bLdk^=Sth)kSB$ug60>Y!`3**hE?KlnLSRX#}iU zGto(V>)9GE+;rMPU47?1K1XbwBw>^Ir(L(iOg(yPhnsGI5<%-@>xt~Nc$b-KI4981 zuBOcrBEmO!0b5jS?BbWND$Byfa0~OKV!C%(zG&`NyXj4rtAzHiOpnUwbLzB(k^$|KzSk2Ov= zO>8Q(^$YhIG3|&_4H(u|*-jkKmlnxYt>P>g)CDJiykW^%%tVT_0XvwuR=cD*H9szd z&@6Wovs1X#=!+8J&jeXVuX1H~YIF$-8>mgmx+%5DYZ3wBxag4y9C}bqHe0 zR+d1j49i8%A{bpQBJZ}{s6zDPb53JqZ7pZ`PyQRbaT4S4POzeVQ&VwtS%sM4GpYF{ zp%4!Z(jzpXr=vkvh{5Ohxgi!{tb@1fH!w<$Di?2Px`-d$VUOmp;&*z*#2d!1=0_&LR%I@l+qf zId7xr1awyRi|0(1mt{7(M)t_g+4?@OB+rR>qn1Cb%q>OsGLGt1fWbHJoO#QbE-AvP zJ#&JdvaAmE;pY6zIIh`Fq(u*IbQE{_V^;hS@uix_qwlyy?EsV_VyvJBjeuWGgk3PO zofmc*)yq0FHo~Wu=>DF}+C*ZA=1|=aBe5tLe|f1EG#!b8Q%VXU&C>;v25*A$wm89{ ziK;1$iK;lYgb%vlY1ebUH27t61Y~-(F^&Yld}k?F^nkcg3YXOjv;0Q;VLVTOf7PB< z);Gh41XkUIe!_czP0LpF!N$*y%1Ezh3C90-rrYcDl47Rpy z!2oGydbkhSaQr~O_$*I!61>4~`#k2~V%q)h_J^yFJ)cp+rn1Jp@?)`T_e5)1#k3kR z{yocI#1Y;wCjo-jV1g-|5SP)}kkkXy{eE|~!R22-u+XUGZZ^|})D1WlZm#7hqyS(n zr-i;-<%5_3?Ubss*l@%turk^3EKI;)Z0$!nb0hgK+E3yu1}DK#1cFCAJO;0cj35;b zn89cnvD8O6m)};iyIcwj!+6;#c8^%mk`l4d_QYa+31w1%EG10_A)d_o+$*Uxy+6s&Yx@DOCXNZMdE4^N*4*Pq}7in zL(3f=cm=Sq++h?Gpk&sh-6PUKHydM2>S;W?xED>^1wNvb%#Z^-sHR8dN+D~ zTmDqOv-pb|$Md^bjck(mrRUTHZ{UH87F$bnOpxK!TY@g`=12X&31VLxx2Csor0=N#%4S8wDRkB#!}_EM?H3TG6d%tmw1 zVtI|blv=k-BBlL}zJl=$<>vUax!}U3hgT+^Qj}*GjKaK;jtscm3)dF2wtwMQMe8`> zcQFiCVhWyH___fsI$@IFiZ2fG=#d0ZytO=J#Tr%Dg(Z`WO<1`^*Zny>^-MI)9o!2? z-UHMjM8oAYVr#f$S0aervAOW9lT)hj=foS**AmB{aNG=b3M3hAg-v)4Wx+5m&_YT0 z21R{2l9k5mwNl(dcIH`^Is~!KxLP%$^^=5SfA?#`|3SMfhSXgI*7KHH3;rG{^VPl1 zWT+n+TW+{=RFBJaBQ`s5TZa_aR7oqTEO^TEl=5ndYuCX9o7)eCCAL2|2{=DdQRJf5 zH|XLF>MQ1R9w9@uKUbS;+75WB_ZD;L?qgb3g!kEPg^+t{%3)AH3<8#n)&sC|8WPwM zMjIK&Af;L#7p$03?A+Z0%mrXtuCAJ}7+$s13iSdBOIwNE=7jW>*8@hy(IFc7ChL4= zf^f`N)1a%kbFnrDL>l#Ev)<3oLZi+HNe<1ag_3g(-Dr*A(le(@_}Uc4EKzQ!>Kkgg zi7&1GO{?&?&L*r?_PS<~m{x=Xh6RVX)JD)g*t4l|J~_r+G)-Jx4M^SB-?9t(I44^( z#%Fn!HbivR8XmMmHtuH*G=@h-6d1iyoU(FOo3I$&t(-K4a_|4DHlr(V1QgVll!?7X zTMlQnC29d+MwaSKWSIk)0z8!bhx#k;_dSbw04ED!YmH3IFys*H1(W-2CGe>x+4bj9zcv2Bj-wI2jU_u#>R%_6+OL@Z9YO+15J+Le;& z-K>OO4-qB7gN>{5NUdKvJucr9eMXOtD&nXVrlF*;SR0cI)+?UZs{aQ3CVHODa*G+S z*+!uvX7h;VK`Lk%W(;~5M_=PWE6Fs~@n5PjC_v?;h_#1L+$NsgZJTZ^3m1`1&wI+b z+i-oA4mLRTSY=_fUs}wMe7mD454Y(6Qeu_9UN9DdhFga>9Gq+i$H2HJ5?dXTN|yoj z%thwhes^dGmak#=uzA_8b|q?IfRnH$%QLNY+<`0r`-m9~iB!U$$^RAokR~adn;7pf ze+r)3B$p(E6sl3oNikn7?#gv4j`JfVT zyhJDY!aSVfTH(kl@9{rl-z9m4bk*~fkEgVsWSKNB=IR~{j;?unht8dA}(pX%f0>rYUvb8Sry{bh4tFD z3y*-CRz|QdRg#BK53`3YJQ1`TDkR{(dSSMCeEIX;s}#vuw@hW0O@D{5g{Fy$=El6I z)~abelK+ltUT20SNOqi*1pQ%99$|91i$(VfNLC#$BBTqCcpY=4@<@mOGRAa!8Sxe| zkXr=3NC9ti3I+owi`3Ye=)^UjhUzQkMD$t%U2#c*s!lCEl66^{n7~_mI7Xdau{iqX zRjZ*e-XOUzD?fRDM7axWnbfk__kTMB(b8z;s@O6_&gzuy!^z~o8S|DtW|i*>{c_Do zLXo@qS4i@{<-m(z*OJoF>rN&IUy`6hn%U~66d`?7HQOm z)+T|fO!YL?$Ec5PE1Eo9XxsgWD25BRPGc3Q3{q^=QZ_nph-b?EdM!#Xx8$qubX$ba zJum0aEpOwbx%veo>P70flc}}BOt=>bg)!(Uz|eBeAfpOUFLP~Z%!lkw=Dey8Zu(4F zDSAMB&c&d9_>A7V>qs47bkJV#MRlIDXe)rC;1BwUW;|RKk$%wpA*Q1?M4088-=`N_ zDw6{E^J|j>OL%f+nf42Fxbwf5e&K%Hi7NXpLACcT=5cEAc-(5>^M*}Uh@#_0jrHF7 zh0bkTDr9olBBAacF%P<^OWtj7F*EdyT5b5Z6a8vgp{`Lutp3uS;ZNqK;$Sw3N+K8> z>x?WZ8ZEKQAY)mPq%1`}C$bsw4EOe)NoMi~f{<17_-bY6zPgRENgEXzdO?x2Mg05b zT^!ZUjSz=2;{b!p{Z0qyLYE20>pqxInjw?q**tJ~@OHOVesxoK!l6Al_ZIEJX3WyoFfV*J0Ed?}@U~m_= z2gjn>w6`-~#&;Lm`&4OA;)B1~NBa0nD51q1-9UxQY(Fu-pYZwk?O_P|eCZ349!SB-;rWcY(p& zPLUntf-M{VW0P{uUEZf9tXb*i6d+4MU0n+sDI+1m}G{sJ- zKKp^c33p`Pu#(Lqw8MfPG;|y`kpmGh&5`G`plQ#eZIA(-91_6597$`hc{O@oY@K7~ z<`$kYFLrEJ!eg*M#Ao%(l!Ht1HK2 zH7EJ-81TlOPlhi(pv>?}EeJ-#sPGn!uSo|(B#+Bv39~E$wWQZwk^QCj4>3g>#IsMQDfL>HrT)QoHD-kwsds(vu21{ zhOK8yuTnN{850)!Guq2_kcbXmBc+s^OBsV>M32{B=#5+VT;s|B!%AtT2ecB#D*v9{ zFY}W1rEd+usV45~&SOWZ=J9`hsZo+`1q8>0zm^t~+4`74ZDV~cpzdujsf{&ONyNZ`5d#{qoX#&>CBR>c5(KdzcwYOf)< zGu(w;=U8_}1M>+w06ED}%KZE}gVo#JiAPRBM=D&mAfLi(Y66AmniIgP4#-!nuGX21 z-~Js9#xfcgYpL=hnOM$h&Zgy!L3j^62?m87^>5Km*x?l-(n7v%%Y7of+NfdXFz%3n z#Twkwy}K?|#gRL06gf>SCSG+MQW1-eKMMKhHIJL-Dpv8?e~90-$SBC|&fbW7N9%pY zx@pJ&3?F@q*}mS%A~cDbyTu2;qsSdO1#Lzy^Jce7hRcE4c}&OY9rz?m5iY=6hHkBt z8_E#O3m`{rD)?#JfEVz5`-8=@qr)4(Q|1jy+yT1q!EN6YfOp%b6G=J&{4_{GDyb?@ zf4{=Nu@x5(a+tsREbjZTt(gQ6llyk3=dq8a8J)T z;l;2Y7u|9STUR@E{>!?tI5S@ZOxJfo#K$rD#dN95Tlx%ic06tw1X;JGrNKwy?XWvq z+JNIkBHm3(GBLcu{NwnfZ9$dfWVp7>aEm%fhBSL#HEUjYiLWt|u|$iQZ!Xq_H|7pV zDPNpgLr8~CJ&}%NBbM#`O%rk@nwYu%T=cSQ*mY(`iZkaRNrtR<-3~>x41LL%4Ssq& zD`u*zWkeXhhJtPa-$LXCz0JyaqsT?~4P_&y|FC;t457OL^7Kfm)fCL1OQRNgpR<8O?|;rN5eP|fIm=qHY` zqn}`~)~^G48A&8P{uAH&>zqJyoNbu9FeGcaFW9Vn#-hZsfd~zkslQabda}piMxkGO9;ws5@ zkQx7M>GA{VW`plQAUNXo`llSaCnKE9Zj9E^=_CMFN(9 zlezyN;w6e}n6G;Ce7!5&j_xn>D@i&FNPtK&bK8&L5gA;dKKx9Z;!uo`X~fR-+Xa16 z8qU^X6}`tUcD%v{bmuzuXEP2gbpbQ0v_cIV=4)6nLsNc?+k37LOBy3{$!=TU<3X;F zxw@5y^9qBi+1JLNvdqo}cOS(gVtBxP;d1kIMduPk@G{H)J?Kk)ZThvjErZ@qanUa8 zk;bBRnL8jFbG7dGi>^X2`?oCzDH`;-b*pRogEGHde`}_>j*OX(%r)jW{=Pu32if zi>tla^Hvq{eefphmcb`98j)Ab?{_4=I+wXjx4lwe4qkXU?w-}M}?2=PdIJZCZAZU3wwQ@Z4oKkI5Tp* z=df5|dB>X*2p%gItj&>ah)D+ZgIKQNuYAa^J}K6!O5v(Y6Oh>FX4b!X5WvHy!JgWQ z;@+GD2(0nGa&~xcy1mSYuxDXw`w^@#>GElEnVuBA@>$aCXPLSEVNYf;QmTj9nBEi7 ze=6%U;J@^kcipym!}?YtGJu%Ne7C`t)$u7N8{b7zp&?SC(DTETCCZfV{H+Y|M6{r0FkD zRG1i2&No3hwW1S(ZTPe@q3(nATau(;7!$edS?7B z7$qq1aaCK>d4mZJ*(Vi{JnW+9YM1juD9;Jj?*$4`uz=_JW86v7fh-x7&&Xmpk z*IeT8>_-%@{Q2jkJWG`3mI7T`%v)wJJMXlh++}W_Dyi&`r~U=Tn;8yN@X~;m_Vp|} zfg=U~Wc2#2+;^d)to;ex6W!3eh%qOXn=e`tk_teU`e%NTvpPvNR(Pa+{zC5<^PG=8 zpcK3Q>%75VErODI`K)W3SP|ph&lwmfEk8W(3V;-z(zjTTm2 z-#7F2A(9hyTP{y>kT_X@FAF&gSD4koGjFxBEM|)eJ~ZBAj(RX|x8{N1_VtBZH z1{)A@a9VBYp}5~EC=wS|15eG`Xb*$Kv{Xkkc4zvpG$XpjdI{)okGV0F zM~2-ol^C2rv*MU`ZIH_}`cdllBy!4*%>DF?EDe!Lm4H2;uJLJu0C6Az6-Erltza%GG7CepOn}k z7y=)x)QvGY5X!9~4_0DO7#L}>sgq@028#yg0t<6!AuO#C2bkqWupSfZHnv?YW$ZFi zFnnyxlA{6GW=fQzmG4f{v1PYy>hPx*c~Fa0d`aTBrJfZQ5su~Xl`?4nWXi=7kz-`Q zNo9s$QqL?sEjG$yB@|+OvitZ^0G-TzFO^j%?PO2kHD7`T)~MVZ{bcshGl#`}^u6Jk z-3w@nQ-aab#Tg4Vk%!D@S1>|sPsyw@Gr5KcM6EXlCVViJp0+OHU@bL&d@9$f+qR*r?G zUs?`@j;UNfq|GR~j^||c@^b{A!?`g8!}6yf{C1Yl99@9+WO$;EH*1x|}GeoBduftDOLqx@Bdewv4JiYT8>i zkI~cvVV%_>%5w1WPc7@v?S(9yrhCry{x2xdZJRmK5#{urapC3*?Ml2FpW&h!c9Fq;j;anLvL7^Tt7G#M&kb)zqjD{ z?9sd})z!6AgC_J>M&Z^5S6xOny7oY07|M8n=2QMl*)Nea#TpxmZ~UFrK+ReCR4J#o{MmGry|jH%?f3{G@+sBpKt_ zEWSxwv<5@S@64~vuU)#^1pdi4{a4pKxp3Jip|vldsg~E~3((20XLZ?2fpkcujZ4`j zWn3wr!C@bpEU}bNes9?t7m_pvg+sOvFeCnfqOU-_=*jST&K|hQz zjZPOPl6H(Q3889mmG*LPIcXut8&RGm^)k1Y6FA0M1An6MNV=)98~+hc;`f7LW5LFb zptfXt^dN2MML&6*<+pDaGuDt&FQJH8UW9~*4qT5w`Q|*hB2oX98c6gP9fylZjsrf; zvS7WPYP9;C5H&Pzb?M=3oIf5`1}Zjombt57Jy~b3H2Ne8#HV|dGlW`6{-Ew;N`GX0 z*$`$M*Spa|inV@*IEnWJiY+FMv3bmQ0b;qlv$K$a%$US&1D??xeiIx0sr8L6Gv{a| zArSjTIUjN*2-|{5tQdLkE`WI^oZICXWRF=`bW#VB1e%t89oUh*zvuG zDiA^*nySD;@cJ9a14U^Z#hDP`I^=C*v5BXG1qzST(mt`ToR`n7ITc?7tQI-c=-0&6 zn)PVNf8BewX`y#c)wV58z)@*Hv4?8DEbYrYBVV^jqLwUI?phF%FpS%yi}V2(oYF(Q z4}4K#l9H0Lu6avHvO-C3UnuL;?p6+eStKCo2Bg$_kQSsM25Yk3?3PI1{NrDP?qe@jxmpQjPbO=f43S1?i==8jC z?!=IM61bY#CvkP3DAEp=xaff&Q$r|Z&1eKH`S>opN-Y)(@a{|V_{x#nGT;xhlG9#;Gd zKfz80(<%eBiMOU%V>%S8fwSecTTmlD83Evm8g1 z@R~R4zgDr({QuF^c?wI0AmdM$Ae{lMc@?20BS@x|GX2RUzIpK?ovS`p+f*5bZXFyZ zXThm+R8+>3Kb^*tQY+;@^MVoQ$us)hWk%(xe7Y75xzDxS<@vi7m=R_UdT$UedM7WK z;&lnF_k(vzyA`_ebmrQEV&45^ zGC=)!0!C!kqH^(by8MD3n?e1X`Ng?&XL=V{aW9Jmqb&uhI+lUYdUjEM*@5ofRak|( zmxSWP>3LoR*IrvFlzpk$!ZpX_7;-a6Xn1qeD^;i5Ba^~HJh$;1LmqQ?H~+w!Rp_imO3IK~;~ag>Q`$s2 zBFXP#7uX4TPA#cj=B6tr()au8n|K$2>)bPw%Ak4}*=4VDkdOqMAPlo7^U8na&&KdT zs1sDolf|VD%$7gJRI-#&aY?9PJF=9`#i7@69U-}xzWx3HBb;WHJr)3f(J)Dx_?U~! zg!>WcFxjgE*)lfkg%HK$4PsF91XFCw>kX&Ek(7^7Xd#xL8wrr28Zt2U`G)spy-Ls~ zOTlO{VGB+7$}i@_QgA9)Led4d_R8TaCD=ALL|VA$jYsTd(~){D<_%@)3FV?guLWRu zu~h`LuBb>~<*S55$RN8tSb80gg{Ljy*EVm7^yOLLpg4dP_mHKPIgS`afOW$QRL|-^ zI#Ww{N7q{&tsQ_I4(hwd$TFRLNXXTGont-l4!JTD?D=SLxuFmi-?Mi>0e?F~ghE4< zdiP=7Mjsx@L4aIJXZOfk!Mni+|IxH6PY-*|Go@Fb-u0^hrtGVrZvOHW@@G%qjOvRG zy{Y@MH7?Wl4dJK$`Oy-_=hMnkUz9v?LaJ0;8-dBQigkT=ITKjbxyfyuGR*7Ru9AV{ z4jv(*@<_OKAGY;D3u+sRVW!Op8zOFpfqgD>ddoD1h)gbVJyXstdL5+`o zAiI(6^&+FI?yED6gh5a9icz%6IGeRY`JLNxV*-@;Q-^fRWI~=R{7~u^Vs7(eia=r-{|9kd%R;hx-Koq|6@p>S@6<> z#UPCLzH;6y(#~7LF0=Dr_!%Gn!0_~>8?~4B&LI_!C39@9_B)2-_dREfbZSKZy3F}k z3dHRB5IsHqas+8+9DJ`TTxyFZ-;){YwN962q)+!k9Rk}lggIfPn%W;;` z?5XFmQq%l^KMd*a6NN9*=6%X7y-igM%=4$txlLh&cW8Y{^haH~Fsk#l^G-gd*T=QR0fj$qa>JZ(a%M9t0Nz?k;K6}2~ zHmbQf!)#RRj68H%uEVyR3grxsx@Xa{RYnA&A@c?%LdCWJh3}(al}QOHZ_D42Q7Tni zjKW0+kG2rM*C4{WeE{7D+n0ylIuIg!_oHBH8HqXHp;upIp^Bm{zCy+d&ux8IBrG;= zbWGU8TczCJ#{qc1r`n=X+M!LTFB*WuIqe?{+v;HLv6Fww*2^&Nz9)K|v(z)5n8fil z>dBt@&YVeh*H4dY$wZOAm+17_GSzh^0*n~^oZ;-IZ)fPpWDaoZ){{ZAGACz=QyV*9 z?i{e-kQL?Fwwe7^PT%w>ynSBl7Vpbimr|Ux53K)a!Ax|}^7WUd7 zt6ci@X@{wYpbQpWGS-5g2bp@Odp2oJOrRQ1Cot^zZ}&>PGKQs~M7M0zaoM5gVqQ9Q zZ^@I8^($|iR_PA6ru>4kXqW2A!K(aAm>w^zHmweyR?=3))O3#Rr+lGi;v?orb>BQz z({IP|aat)ToH-C;dher@4voF#oZkRBGq(YbtFf;c7OGi5E}a8Gbjb<=E8*Plaf+r# zCn#NarPta|QX6etWHm@(2%a1^i4I2`^zSG*rZZcXY0$6&JPK9z%n5I+uUmYj^}*UN|6ab7~p?zfkK5|6SEmm@wbI^(7fVhNt1A=Ss(sO*oT3{Jiu!ATTeZvbs8C2e7Lr#| z9O|?XIAmF6hHbGvIjk_fQ?%O9m9(2ib*q0bs#yP?CZ}cGSx;S8^zAZ{aI!QPf3k-h z8d>j*a$f{)kSN&vpoNkYUWoSHm(3artsZ1{?zb;|pkck}GmU?^On1t{6ZbZ5L5l*g zxtEKP#L+$1unqj{px;8-2(H0uacX6F0?J8)0cGZ)1I&wJG7#~nq2+eMN#(-BM)LlS zRuXY~v=(gz*@28~AJI|VP4{1MeriT;>`HoqJLCX1CAHA~^eM};#Qug;VWB*Ed#6$y zf6?h385_MoeB3?X0~^6*c5IZ|TZ-|_b8?8AFI;Yh(YK3XiId#WRS+hbC^KpQ>~i9_ zuFHw72ktYNX1P0UskAaQnUGbXe=zuWa(rMQ3&BX5Dce)Uo69<(&g8YG^Nfi|!u8pR z3{%RaHx-57QzsY>uv7p@pJ&Y7viKc=ZL=wd^#(=W{<{)+;(rd~D595X#?K>QlsLUKkK=bVt+59V*;D;)|kl%uxdb`)H z*jmg0pG-z?EiOU-b>BQtmTbt3TEo*|hXgd-28bIPST>+sDPo{rA6~AGE#bDY5_V*K zGLh?sfU)~`?IX`QEc?XYY@W*t#e9$)Ny6bgO+kWX9GI8YQYO3&0QbYVIMRq5bQ3PB zSSNtFn!#AYULFyyX47|N$49465zEO*e%_d~O+@_tUaSiKr74q0p=pHDV%;PEG`9oQ zV31G4qH-X6wT1cR-V9q`Et0W>FpJJKe2gtnH5bdyFy?E%L`*}0Qz&5SkZXTY!a~J8 zVNS;z^-^Yp2zuZHT`&d?47h|`8s2g7Rh}`r_%hMR#u`e_n1Z;llK?4R9L2P>3*bF{ zBxETXXBL-h*C(yE((VaA#P4lUzC_et?Uj7Gn^qbZDr^P4sp#bX_ftKw{@p4T!4+-k z){qB+$%X$Qtw2sSpF1FDHE@yc9-elDd<&9w(e3RZUtf1*){)}$m@}Ch_sUYHSst>- zG=()fv&7YC(^PLRPT8U%thoaxo6XS5MFN!;&7OjLCYZvPO^uQK6Q6JeZE-BQsEo=R zv5gN0C~?lSJ}o=c#3~BL^Kv`bs$Y6PI1whUJSF}Jxlh!+T~F=(70vLf0zvO-6(V^a zkeX&`CBoMxvjzW_RjaIK*mOTlV5zPOmlMc5#!lL2c8fjRpI|O%lwg!mgtlM}TKz}wPu4UQSu)_?kmid#hb#jcCze1t?%&&48 zkhhNpJ8w-@T!i<-C|XcsM?zN9a9oFG@(uX-q&I*~Ej@6HymjD77qG=B9}On+=)a7~ zD~a7H(bQ%R56-8hi#&iZ*@+V7?bXqh)RY|-T+;A4pwy`;WAe>)PY%`0~eqqAD-9X@)L@aE@j%3%k(teb@wJQ?*69fHGKwTp>O8? zYlOaC_DtjjeS;fttf$gOl4bf^G%P5iC~f=|7m&!$U2!nvXhbnuS;E)>heF04_jqfE3;{L=uy#m4vO*WWD*~GG8!~`&rfQtW0t{ zEVzd$vi80Ex&xJE!cCzK_9ak(DO z_{vyeM(ccK8gP0=e4^_qyN;9$2gV9CBl%lUW}7OJgqvy$s(pcX;MbD7 zOLXjaE@AWWspbMer?tva^C~B8aCEfQive+ZZmt5kEETKa4a~ZWj>xtdR$?Q5=Zh3q zeO9dZ70^9Lx)BfkG_csY|4z{el2Wo+1eih?4u_vM`x78}*dpkb6F}Mkf1YQ>Ddv69 zh=$;4{!Cn`KCF5V!D~(cL>4N#rKn=nZeFO|QJ;(|$WZ9!?Nj(yq*)`<%nv zzs=Q|O2f3`c;7)pEV3NfHUEGYp*drT!7Q)pqP&9dcGc(gfq3t`hw--RS9w?|KmboY zG>=MxeHsoXNVAhoc-7!n3|}fKJDJK*#>uI1zie zpN7@n%#tb8d`H?Lao321m>(NTdWoy`9-PIJ&(QJQ%j!qIyx34EKWRxragVcGmjt{T zz(0+Bv))uU^SouZ;77Rs06&#B-ql#Gy3M;oC>F54YMu*hYjs^NPM0=*vU~&!jI+u& zI3g2I*d46%@|K1x;8Gf=)j1%#i{)e#=2lPiLHZ{3MoBe;M+TC8G^pyyMS%DfTjJ@U zf)5ut(kWW@dm;bJKtp3X=XF^H&k`?B14kB{Ha(v&@`O0wDj$OMI;YA^{C`~I=i={= zlydCl9A*l#oA28_%SIVYIObDaxa72k&fOS}Au=zAm7ReSKfP;n>-=44F*A?sJ&TFC zpyxrw)(c9-i;z|P{;e7qKds>qJYd^JcmXq4y>H2XTW1>XNo_HD_GD!|!>n}?qo)ZV z0Zdty>g}WFhbjzkTNR3{^|JQ2&u5J{p|*D9q7or~jXFG+GqSylNF<8%V`loW0=Vzb zF{HN|18%Xh%rk(>H-t14qdba%xX4eoKW#B zg~ANP!k5QCP{T}(NIDvlMV!zMm{w4HNDCrOAqKMaY$Z*zM`L&2?~qfxdIihFiH{Zh z8t`otH`)CxIklNYeg;Ni}#C|A&6BGtM6&jZU(T z9i0L(&(8iNz;#pm+#~~Rc+K@5pc?m$L1rY%9K3BZ{3^WmPJ8$AV;L^F`mdDXbWp8v z;U=6OCqMx}&q98GnKQX&7Hu38uIw_SX!f8bk$p|Z zF~9bn%Xujc7>+N;V>U&PAXwJ%tke=0>^0N0l$SQA*qC!X`zwg$Pt{yjG!%?mVwt4! z@S;QOs^~;l3eXS03%8Syeb|E3E5(Q_Yzd~lu{<^++e8_qv5_7mOEcBdm`t3Y>0aUlpd0TK-{OH>rg*b6pwd=P8Y}BJN~2QUsL-PC zu*>1t<9>}W32_y%|9Qvk0{yHKrcG!A%3pTjEP6eL&$d>pF+M~20n=aCRRiK@#*nKg z0_vfzC)kAPc;V3QJWNkO_%7J3dyF}k=%-M}8!yyAR0~0WkI3s1C?>{ZS)JA-uS4D~ zv(Pf{CLts~D|pkVTzb30CxHn2*Byf!>Gq06ye}XVI{aH zU`RlaT0l~~;5L^4E~ctu3;q!c zsN{Nk1lX&N$(Gzgyn>R=c7aRfcNBKahxFWC)ly!xYi2P*P3*s+GRG|iChUKtY2_dU zA(X|IY?-Kg)jA#uxbN0kgg`=DnRk<=v;^Tz^8O&hm-4Jzq|~X24scSU+>?HJT5Btwi*|aXPH5Eg;@tQ zQ~L5FR2Q4xW==r0yF1BWyep>9 zT-XDHc9=GJZ9VWLfK97<{7kQ2+}ujCLI2^o5-wua^rJU+1-WnJ91q z+i|PcWEYxWDc<9K*6}ay)j{77IVc>B>gpN4c|Lr}&_#O#6k{dX4th84LRjvS`-KS! zs< zdM0Va@8W(IG6~=P3`GEzqWT554K#yw$cX@tKNxHP3Pr;_Vn>F!=#5i%W)5U zKJK}H0EC*yf)UI^qj2dq>E%wG>``A?APWo)+Z}FP5_HA35C;;zOwK4(FLi;#5M?7I z$d%%0_7-Ea)|vUD$(G;8i+FmzCS!zkoc=L~9gmP+qtvyl`{`rGYe^1;CW?C$srk+D zN7$MA{bl)}YABFndNnUnj-Zzs2T_*6r$ z0z*3p_1fw@6HM5Jc4{nMnMC+-W|O?bdn!wl9m9!n1Z{otj&J5J%@xdeQK+8kRJLI@ zPdZqI3=lV{kX9iYXyGF3z-d^aHwA4Mjp%JmE$lbV+|DdNr7cF{ugpj&p~V%pl+{qY zn4W$j1FYprye4g+;sy2Ik68a@3p1w#8v!6Tl4Aod{3Fk^0-Hmz5qJ7f&!JeA_ULi< z`1jJLGu%v5n#`N{U6L3-Cx<}LrP;iw8QqcvyYk-yGYOIa75C=DMZhLJV}ioS#OYaB zcAy&N&fVCnf_yaHmt>{FF8FGcESblPn8$LIg5F;h@j<_%A<7=#i-T+9b`6c|v^=M` zE3WM2AO9sHx?8d4Q!fh_w7x_VD%Aw~5=#O~(4pQE%bj&8@ba(X9UK0+e-&QYUe`g8 zJrHCn8Rl<4Cz9d|ZQ2p?VFrz%xIpGc?L#7NwW(i`3e6<*>c0jL!Jg#TW0X34+`eM5 zk`|pCEm{obCIA&FxNzgA+G484tGtVHlv%u&CnCODvjAZLrn_3t4Sp@5wUn{wCm*dpS3*@#s z@(vm^#Cv@&*)?ZNkw1AhsC@}OMr-l*yC+F7UAiWR!@wjp`FJ*5rH6$EkUT?Ci@}e7 zC1!n2QxU0)uKk^)G&B~pP3Z4`eHH%u=-CUzkW@um@DIN9xAF*I5v=0(!UxWvHbd$7s_EAFo)#fPDE9=hEWTKqN4>*)a?aI?G%xMn3KDxMB5 zVgu6H`FSevFbhZDU)X}7_kIBPn6xS{dRRv?qUM(cW?q#8eFOqnUweQUn7W=fYD6JT zaKsPAHoC#c0M_gZggV3%PAK8TmBGlBujb=)n{4%}z~Dkw&UR;Soq}TI%hYwe)g8u> zpyW421wwptfdu!j6{70^C1P>kTPhjSrOP;Nzq)3o#;j~B@#Uln6#L)JM_`;oJ^~%W zh~`UliHMk_rzd?Z-KpgwjrE1t26w7%EyEW!=SM>jVU>T%>%rC60Q;)Fl3TDE!G(kH z*2JR%md!MwDk0`FFZ@;r_zux!r73gf^VIEUo&+6>rSteL?P5l8QF3=lb#y`jwFVd9 z@_NqrZ1vM3hVOVfk?Hy4ik&;_H8@&^^|Y$Pfz?=ClJ!$1J~^GYc_l$<}P;torC`=MwDvH;yKkpAuu^N@?pc(Y=H@VGx=OJp0Zns zEMvJ*-X+DJi-X7G!RtY%V`6#3fy;|8%Dw1M=#b{d0{V7kYaWii5R-+3v!Oi;d{Ce- z=3K8O>z$D=5fYsRQH0X~MfN2qP0Ie@TcweldMp@@cTl&)h{t>W4sTyyORp<0fH#2| zc>%EGAGOc5o>+YdFRkw7k@yI{WqRuJlT_<5`)ZKmPb+5)rdNy56p*Co1({jIGF#M3 zlsi7CkWnOb!$Yv7(#9e=+Yg$VyV!D+v_Kqi6J!OQd7u(F=?5J?mxrq5bPXt9Cp!C3B6VXVGTpu2OvxKe2MeC>8L zx?zVS+|Za|2EA@eXU{iA18`0xgK0`M^ z@rRDuvo0*MUN~b7VDWllu_p%0Nj}n>3yY*7L6qTzSreHP2n(&_f@SZxv3Utzz{?x; z#LG;&wP3W!yRSVZW6+FF&JbZghz+^Z|7#yn$__1rJk#Py zkK<9kzYKEUmU7qtfqiNzH6cEfrUo9C;<)$Tt@buYch1 z&_!AwwWl)U&JbU9*UdHy_t36BQ2TU$PSz^^SAC*wDzM}RF9bSy3(E9z#UkP>nlH;< z8!uz97VuCQR|=a1X>vMNu@)%x+@v5b%}~l9B^?^70C>B>BkZfJqwlYvg-Vw%5GNB+ zMz{;0sM}-EYo&b|=RNHQrX9QyGf5s4klviGyP8LlNphj+iD1SpyJ+r1bfK}K zeRzeCN{Uui$O)L?FIKVzJh+n0>mXjc5VM$Yaq3COh7d{v^zfP^ss+GBG-bQvxaNxv zKY?>JOT^S)(}aR`Cls1qr(nOk;~q|C@*MHD%p!z>oAk5@Ko%X0>zDpsA#Bt$NoZ^G z2%ZDJ3D@jYMR2?xSp3jSS`_;2m~tyJY_*+R@7b`&>LE!+78mvmGTT&%6;;CrRlWDk9swan_+T`Vb_*hpud#y&uDX@qs4tWh;esUd)GyvmxQ3xjw6f;3Qx#L0jJFOH44O8dU?~wr zLALUm-<6|K9p!ae(_}nfa+ee)hQAY{ntm^AIHNW2+%L8o6a-XtYDtYzHaN-r-knKO zVH;vXMye?zs?Hz6e>Y^Asi!Zon~o}2nAJ&R@*$6IVU8DRoAfgCU&*9|smP|Z#n|z? z%*B1nq3*x8Lty>Arvw(B8}&KJVluqN8RK7YeIjG8*e&Y6h-qOHd}!r`0^C~rg^*=+z%Kr)$DjzQf}R|!X&o`;?Bx)3&${! zr?;b_5v^1>65syiV*d1&L+8OQdKL zl$W&e+HzvT$9Hp;Oit^}*mNbD6Yrs2sLk^%-9us*|Ev%T?MfV-#Z{7@gtFtfg-e&3 z6=(>hIbGRjv08=J{EqZdnmEiIYQ``?42DE<5echY_{vuAw|8UiIZJ zT+BT}vg*A6sQAnU-=18qW5xWF66MX~C^hb5ZjUgSSnPt|SOA)rCXIhI#k5hm7$hKh zwr&!ZNRPT2T55yBHbM)4$Rd6{9`!g+Mv3mB^`zp$QR^1{l`_8DSP8HgtJy-9^2{4L zy#}+v7gc8jdt!@-oUFJ^_ezct z>E%;I$LM&4#_iuB3pngK6z@QdIZ#(xxDOm|?4>$O73(39u3TbK7k>&V@6a7UK15XS z-c^#r-a#6jIjh`v&*C@lJA2~vA{WowF@Zg`Xj;fc2VEGNwR+V0pBpeu&w5SCEF({2 zD{NbXxo~o;McAHf+_b#7oU$c~VI;gjQ$Uzx<5-G~_RDgguSQB95AC|zwkJvx^Rc+t z->m+>h*n+aEK?!ATkSErV4_8n7p}$aARwljC44NAA=(j#5Bs-U;_~v^qaYY7CZ(a{ zODyW-iAu=OT@yY{&iDtD!p8VHLUo5hI}4hkDu6b<&K8!VpW*%Nx#zIW z%t4kQXqdJXUDG@3sjEgDfMB90HaKZzmG_n|O)6HIHlEi?>-l^$F}-n9yz=BesABys zAO%S!v&(}C*BDda(cz;dpiSH-X)WMkIISFJ98Y>siL{t-|6?N&qfH;wr@hXD{*WnA zw8^XHBbqPw`lZethIZ1gI`ePO;Neq``s>^r?ZwnwB_dE>5$vrj{nSwgd+XE*SVm%H z3OWKI=jQz)iC=KNaL7IWt7(dH(f@h|DZIMrIW&ccb{B58-8-rMv6<^D_}{J#&I~)- z9Fo3T^h(vWF?GRsX<5#F{x9=qf-E)vEf$QcCBBl$I1kQ#s()B#m}+0%Kd)KjnJ$21 z`8CxXASALrI~JcZw!l*^bKq&BbNn*Q7u+(jST}v~!MMg1EuCkVLEUdW#Sr)&3ty*E|Vsz)EdFvtwIWumR;BE;5 z?$k2`O#Lnr&9Ve|U8-lmSl=ardtXgRF!MHkLPJ73^zir%i^B;PVqy>%9=}Pj5*nj} zZkNG9%ZASYN>e&GnKj`$UW^aBD$lOR9MB5F9ksyocL1rp*Nc+R& z3Z7lk3nBS$Kyt6en^wqMR*xLC7@%FIo=0PNTA2IfpW-wPZsV|ry*>fhw4cI?yhZM! z?K5EY5Y#QGbK0XeqbfNw?AT7@r-W3Qx1SU%kxD9+WBx(fX^&$GH?8~|w8S5K^p`<` z@v2kuEgOxBqm>6qB$_IN=ze-%J=}B_C*GqYZ$=As@uAHsJ=M-AsCSdl!(NXsy56I? z*MU*jTVrR)uG2W%_QUa|J&xIt*eU-4__DtsgC}w)CkIgDh({H&0*Uz=2Qa^W!4jA> znJj4VEyS65r?WowRPe=z6&|Ao_FSy+3vUj1OpHsh{bN3o@@t+#`$lPZ`o)bt-s^n4 zssqm4gz}OemUCC#I!(sowu61Ju%K{;u2ZLYbNUSFy%y_iukQcGlk>4*D7OHQhxg&a zCM(2CoSq(KQYy_Uvey6KJ1S9bPJ|bk^_WDX+}i$$h9SvpK_5VI&#zv!@YaI2=FF(A zJI4f%yz}*Ml32v^A|jRsfOz}1ikD9*HdVhm5xJAj@yyt(XC;=C+u~SB6I|usqxrsV z1|t4?b9ev0j?0Bd@5wN-PsG}WKVqVO*De%NT-?3fdSrsv6gqjqh0KaemW#U(E#&ou z722KDS{GkX7po3u_xXQ{igASCtR$%Yx%Yvf}_!&uHXz zkZ-xoH?q$~OIe*DxEMt)<$)J`Xvdt|TGciJfEJI|+DE;^lCrLAI*~wY4Q^Yscp1UT z56;Eq<1T($OE7-OMfIz)`(Zu!K?uPnePLYiCD#pvIQlW`&(10)eos7QW;*s*8erUQ zx1{J*TOaj5BUz(zL`wu#%QwqYW9)40KMfkN+^L)x$kPV9JakP$mj?A{KJH1!w#4E|8~ z`}wkJ^0r(%@+^+uOzWOnCcT#Ep;_*Z26aN`CT}7j)IKaVq>bNk8=GJ_-90WOs+{u?NV;Szm#Y(6w zC>F?(?>8$})BKMV%wF|R_D^O7uYV^xn*8eO!uz9DHoSKkFgH~S0+ziBiF*7?<@ zM3M+ifUbM**fs3olEcB6;G$xFpte~()7j%`VK?k8)Kxyj?666Fs;SHpxB4!I%bB?* ztlgtrgv3VeoiFTAQbz6?Q{rQ|+x||x1x+_&8VSD-StX)ux1b1YMXSF+GQk@4cHc*i zZ2kf>#HqcXw|)IWGUwdQt>jch7&e$8sY{#Y6T}t0|B#18X}qb#3D-?;JNLkO-nSnf z8!TG9+B3FlQXDYi7O#qGg!^fi2zO3@iA7^c`J+!e;y-HB+Y}g)8&lZC5Q0QoR*@6r_}Vw zB9X!(ouYt&J-u-ei&2T0JM>zw#(H@|A=-5cUK?MKi1Z%uH;*Ghp5TboX6k4Tp?#(f z(Z=%Wq}1({|VZsMJMD$Sm6Xb^}mpriTQ?xV7@PW<`z<~@EjFoh#)^DL$kNb2%7L+20 z)wc!cLq5eq-T=SiT>#SLDIPF4x%L${my!=Adj&~y$FrV6TzE$ggNtvInn-?aUNK4D zOgnX&;u3}~TBk@YtBh5vLXqE*94Mni(D9go);a+?$aRU*1!oXS+ewu+tCn-z5t6BX zIa>SyTp|hC$2TLTPVJDIOW9apb-@<2f*pCka4@K=5p{6lOABp{KId{h_?4}WfveHp zg|uzppMajr+Lhwt!v<25mzeiKyk3f;nZdX!`X|pD_M^dhEMFsAE0Rj#<@|Z-M&|A{jUeNnGcEFqjAYpcEiqniOQyq@E zP&<(7;2ot`g}aV2@hgEP+xNiZLV|CJzT)0|9-`oslc*WQVs-6@TyC{8O7Ep%9ZpVh zWi8H_24;?~Fbdzl#e6D|Zjp<-jFt$^tM!Y?n?H>BM@L!>qLLIK9LLPu_bR=%wZ z&U;lVJ2mn0Vvq|Md|i%;-LDr*QCfrLQ3H*ziFlaqTo5b0o#LVtW3!rcHELkvdE}r6 zLq!R2A5NjoCG1m9Z*zfgqT>1%*TBopuieKMrdo|C*Umh?=OIHQV_%l9C@$clJr%(6 zOa}1M_2e-&LY|mdZu}A1*8#l{;^Ilw0zAxc#b85~e!U8@bm}EJm1%xx_FQyPdBU}* zyn^Yz2{r~-UeCR0k~=9jt~g75y1ZY^I{3L8@AX2fyt$9tQ1*1DFTS2P#&n{2!!?O$ z!KWzlhvAXwN5>xT`IQhBS2cM4y3pO7`!-;cB?-M4ET!EfsFa|WA-P+}scrb#NM!P3 z&`WzO2ayzvCL~=%fd8d5BXH}=sAqKQdI0LmPsn&bbpUFUkPk}B^aR(RW}oPK!Nd1^ z$9f8LI&O(Pd|6=hc7ZsN-KLUuHitNq-i|DX<e&b=eKOQvP(4oyvn`5}D-W2(F0i2$ z0Z$}(mf)?gI{(v!AqwV67x5Z>mb$xtE!lud0}*Dnf1TAfRJZ50_ORZ$*?SxGA*oSf z-PO#3XyPj#oW3eohGU}!#tKgVGA&dTd+S-BZ)A6v2;3c6Nr?a}fkuzjCT1aSZbKB; zQc#{ok%{+6YF|+I894=^mhsC>e>FxOpA1sUXYL)8;7!!MF_`G>$5mhgNdgPNKJ(8> z_F(xwF+F(!Q?!HJ|}263)%}|Lzh=@DSPcQd5KAVk6Rr+S!4MQ zb)S)cBSnws$A7a>WSLA%Ym-2pef=ewB4gV4EPRMkLnPUWu7QvNJD>Mx|0?rd>uGKW zH&G-jcZ@V8^w?#x@`_ExdSR!YBV!HqZK=kqu&o7UruF8F1=gQtms%@wPvn3ACf-p( zr(H0ycy*jwGbE@t*t!i{iX_Q627be4Is0Akz!FJWGT}NZTmfEFSO8jGB-6?BFeO_1 z>uC%);rQ+9dvofs05o_1M^I*+9b=rjc3(0Z+H$-Cli_9Ne!BJFHY|2fJm(zmGE1eE zH_4K@L>iw8M_}WYZ+APzMCMS3QOl7_p~EqSIquHd%lU@}kR)T;X1YGCxMh+T+H)V; zBRqe;KiL*U4h10799;fN5_>G6H|&1BG*k1_1kD~qePmWLxcQmQ@o}X~wLDcr@}CmG zg>k9C&@#A7af>H+E3B?-jVcAd_-1y26IM&r&~yUQ7?8NF_sWkJ(#N7yw_vgAw)dCQ zTlf^~lSovaCp5Nq_g#2Han^<8QA_wG4+vTdmZUokn+a-xkcNJPbu?tWVp4!DYJHqU zp|SdVAH$Zn%8_ly18WxI1N{AZ=}d=|DoT_yQ0}W)=9w@Y5S(G%dozy0;2uUSBdh7T z%HDQ(>cb|Usp{pla{+ue--O07xS^wjXaI)$n7mo3a9R5{{^V@$=$N{FHKROITEb9! zb62-0OzRzv2npJ$ZUbt*p~7(8>TA{OB? z^#n;G02HHT(;5@gR}oB6NvDRG&+IoBlGI=03{R@_XHr>=X3)LZm_OvH+ePe3)DYu| zB%~BT-s3pDgyHjJ?5jIX$7j{4q2f6?@2Ld{AMct^7}u@zRqfeyI9XnPx@P1UXdGaN zGRce~=|AO1nZ`l}i&_=qICy7eQeb=TQf=a|bTKIab|pKiXz4j7W=8P7WTpFzYB0;_ zk;0$p+!w|~Ja!rTInVFUY%!z7g7I9tb@y_TK+?EH-v(*SQ^auHeCvYBqI@(W?8APo zl+(HMscp_B_Gt0agQcE(LC=4}U_;wd%-1uTR@xtBWk&4l3Ft=6R!ZXH``M@1g>Sb+ zY3_D>bp` zX(?yYvtMLkIAo-R#v)`wID0Zd4sY{{6^ZLPdI2-tdHc)gGq`iVqV#UQt22OXfXTCg zqoq4$T~4wGvfNQfW{Qw3KciA}t!65FtH9(L8jA#r`V=K<*lvq6El!TS#_DV$Ax+t>Ru&Z~PFgHv9WC0k_4h%t$Ls&_bdlSj{9 zBmj_8Qpj?9jnHzZ7m0+72W7@}E#T1-F*Gk4mL29}@V=V$*bo4KP zzX)UP6Qj7l;+VoLPwcfkJ;x<_XznGU$uImqxi zRnr;fE#2Mz3B~8pfsaE0@tj#K+cX31PGk@1)n@yUKJD?w`9WErM`Bq`)(Q(Sxl1Rp zFmcyv_Au*Y1nbiD_}@#+AlBloi?>hZpsko;;_X+h^wgX?=w_b-ZC(FBV>kqoX5|1) zE>78G!8$i~9otG&znpDAgJElZEyK*a0G+$KwJ1F92Bfuu5`~uHXI^6cFv;+SQv1Bw z4XhD|j;5+vvDiD{rK6#@zE+_Sfs0lz6Q&c{m1G7iIYp#c11rnWv@l%8tTw$4l3r5@ zVEJCM46E_;>O|(EV@XpJy9}Catgr`ix`=yhCugddr`w|wqLP6xc~EFTkY2bDYuV!x zS4Qy8`_l}lDmV!0&@>#9cze&pUScnPG&8hp1w&YPNl)I69JfBkzZ^r!vTkIKhO9UT9nd%Hl$u#11SFUzi#lli4GUrJpP!YE2P4+c z5^r<*wYzYXRobEj^)YoR@q^}!>C0Yb4Ab(|WQjqz-1Ajw9NNCwOBiiTYDSy+WUR*~ zb~CjiudZ9^Wjx&v*BJFAS{!*TD}cd;B;o?FEY|yFLbILC{h}+yT@&9sBNv5cX`zy?gQtP)Vb^aG z_D=u$08E(BH7*;(q%&OH{#qYl9{Q&05%q~&-Px~nb*d`B5(1MftrZ0pn zKEikm+=+A_eJPKD>WqZhVYgRg655$qmI4bp_%pH8MvaQZ{y_6Bs56$tuKJ+Nx?hr1 zbUaHuMnu~*K5QKCnQ-ytfAUU{msU~%yr+EbZ&NTz0zGFY{@)Kw0?UBas%$*G&#c`P zV!QCtF44@npoQzf-Wj8rpwQM&&7j^c&GQIZ&426SMeWNZfXT|yj_Tl`=6_e?Fv3S< zh3DHjoOHCfboa|R-vKQx!Y5i#aFBD?!px@+tNKX9Z!6oh#-CJfP z!$g(uS4-O8CD*B>ezC2YA8&Y*{h4{dF|PM!xjyI2d?3Kep@h#um~VTo%IWWddPVjY zEH0x+)Hav-a5y{JOwJnKYMwb0_%}YwvuV~8p1opqR9GU@GpTjUR47*~Q9;;|914_~ z{La?BY2M_Y3~}WN#x%2Pi0=H-Jyd@|t?a;1D#GMsGfFWE{$F2j0`KLR|Nr0D{aLEh zzM?c#C}RjQme44&hEcXrC|d|2OP0}DDnv=dAWNvRjdLnmwEEg+jM1@=oiSq{`(SMU z=j(Od_vf69-{0e*bI#{;-`DcK-ureP{!hjLb9@eS+bC`X(A8*I1B8w@2)1?z|L0L) zTRcuzwwu}8{p_~ejBwq}HtHp$=3EAp#;Pe3jFx9&$h0xSgMyBo>USl1)cQcI++paZ;o)smq+``aenfw*!4wBKIY)? zWO8)T=>zGu=V)I2pG$i1=TK$*>RB|R3&cIxL}^0nW{|_=JM4+*XejOHi$U2V;t&V* zQPf z3y?05`;}z3)oYo>9ll!;&7riHHF-Q}tVYRK-bQlw1U;w!6(SG;*cZ#u<>!Gs2Bu)0 z1Jf+aovmcokg5_clwZ8fUoxo}bS;@XDTbD$cG4B}{~9TvN`ZYTjMX|rsax;0;6oPC zmQGB0%EtFv&NKV}x@Dp_aL9wzMb)L|J);fDUmw_9>7XKDM_D`unY4|^c63Nk`(xSU zvWE1ir3fibdB`3rQ|D9ll+Xpj{MzeGz&$A_2M1|(yH4QLyV>1t$s)ikT zdNYTy+T>eq6)!a^3Sn%}^D`F+oEG{qNV3WEJhS=lW&SB2Ply!_`;%wMJ{Fu&9y&2c zyOVU!1!gF2&Lxc$ZIE}&nUiur9&e+_e7EtKSL1Jr@*=NN)H6)c->nek{}pENaCm`z zb^KK7rWO~9FSf0QN>xA*9{ZJwK~O39Qa&uZ4fyGmg+tE)r-110MPV_sQ~YGn4&=*i zUu08vNE(_3dtl+}SJ1N!9sZ@)ghK}4i@Wh*8Z0rS7W8vhp9|H@%F}^^nPTMgVre2v zXV?0urMoa$hLLc}(k~{+pcj0Y1sC#_ zU}dwg;-%LvE7oFci`kJMKWMoS)b=gF@Wl(VZ|&KNPA{Q|x}Y?%P+QgN1)rQrmOF3D z_SIn+U^AB#D^is@N8AH5#nXK`RqR4%K-xyLFIeC#9XUb)7DLvEgJzW$P# zY%2Prnzb|`SQg(5;~$j;n)ccsSR=*so^Hto>pMO_^-}))$A{)XeC;c3lEvqVIq+ES zH)Euwk8x_*8qC~nQN_%>nmYi*nIGv`kC&Wv=$;!L`TLq>2-UUe(x^O;9MUZ5QTdJ` z9lIzdkVK&weeBJ`=ReV1s$-WB)SGoehnh;dSw|{;rOTVxOG{g_@a5xH=q~o8_BGCZ z>_?Y`(hbwIOD!UXVw!I5M%u+SkV@M3w{)5={O1qSuDS66rKI;O(`6pbpDG1D=>W=x z8GkhgtPkl$Czx}hUtqpZ=KTp{#6Cj!;yQ6x_#5P%8)ra}Qiclu4aFX30WB7nTLL+X zfB~F~I%JgAVj(lFy6Z#2PNT6*SG8<%;+Hd-B!64KMWaJ~mPL_{!ilmKu0>rQ)xfY} z3l!$uRb4o0v0JI|d9U#tW2s-HTGm4=B>S|a z10xvkq;;A@tP$x81`cumZ7FAQ?(gBgkcePlj37dV$0GStZCyGE3mUEoG!;ow5euex zSMuJnl!|7zr2Hh_-RCx=Yx?OPjY{4X6q>8)(PRLf(-vBdeRXmZguP!7N^@UflA13> z2|4u*NykuntHuEZU~U<;j*-oWgP#K;l*GZOvy7Ndlo$d<4ns*I$-KALmU!gZUGp=2 z=rP~+p;Qi@dflRaG@B&oZaz9zuNOKGH>9Vp>+N7d+f=W%0Ez`FR^;|DqqYdnO_E5p zO|IFk7Tq6b6CoG=CNj0aFhj}mY+}E1d;UYOx7c}m_38Gd#5zB;woi8f&#ymD2?YNH zV&kuc#=ibhzV}A%ehmBH4#=w}-LETTIQEI=oQ|C{n>N@@7o&yb?BzHS+kU4C)C}CY zQgZ3GLQx?F+UV2=L`ljRTnwT~N;PdElzabl3w*D^I}Tk7?#{MAU-}967DghIn3a-b zDVS9KQdY|17oiJ{uk;bST=+c{KE8YbP_}A2<}Uhz^%h zze&y(LDjnG2PQiB|9Ax~r4uJu6(}qEIo1EAr7VCIi>p zgm6TCJ@2xVw$mZGOSfIY6GKMGcJ@W?C%kLLt9ZoQ0u9;lo0)t$e%Ue{JI(>$PQ@n| zysR+&P8I{6aOsM8=;tWPBA_>{R5qa&RIX9u?h8#mR8?HDH*A6cg8{v zJ4;_7am8_kGvZZb=9l^`2Diq^!ve?r_f5juo_}DG2Csdf&Wz!j zhmanBih~(;JqU*jJcos#9Y!g2Anu7!xM50NT5B&)sq14}FUL%Ev_TlXb3p0vxNiu@oF9MN~a?`G6|>fq!LtRuM62l5?od?V^OhMG7LdAwA)mD z?GzXd6R$)rt*Fm}O{QS_O0m%mPeD=o4KV*pWa(y+6_2ZSVL}3!OKJ6cG9Rc%d6Hwg zc8PILF>D>NSt2>0i8847VRpA1cktweJwX}F6NvWhq7YGz#1<&Y>1`I5fX<*B<8tC@ zDFC6}WXdj#bUgAX%kj$c)XMj1*9Xhxpn2A*;*R=KQ^LB((o;aUS-KR=REws=djV!b z3sMa3yIw6WAZJPJC{F`<2 z1)|UWxXzv*j*u%+4}#ZwusRmOkxMa)7jQMpG3+!W7U3mQmw+dr^h;}^SPayV)`Dyh zVfw~6J4+l0(KG4wzJ(%>I%qzz;wC-N@o+w_WTa>v6^5cMQ70293XAk^KAw(^IXdLg zim^N3gtXwX4*!*2SNMV)JwrP}nuUdz{%Cnk@-Y)Q@A$qqfjFJsBL&8oa>a+fp{gRE z{;%6y<+QTyc5Lr>uZau+3zXr7Q#@i* zgBBB(Z!gZLp)5Q54MO+PL2UP_Qj>l7?^WA-XW^o+n#5(yWqs?36^KWiAW`u8BF(Pb zI@vK2hBp!b0>xJy2jgZY#;6?cnFXQLy)IYWSx0#NM zAL$U@v@9C}zOo{_@Uz2rEV=I`(&}0%b&(7qfYEE*qEOn8tBVYfBe^f6fkw$R{X z(uQL@Vv=bX!T!iH_qnSJZPXhCmlylsnA45Wb z4Etrg$uyd+l+@oMoeU)cb%~YEgci;rblX&|1v+Q9n4v5%JImv>4v!6*8kQa{8#`M;jOI?Y~NsGfWU>p7*P=t|!S z7qa}zCL6s%+fA)XBPY`%7^Rv~q$>wKSHzYAEf*|ktH=HLny@geUT zx#kX>Pg6rPP9&FRWWH@8aAEw%waEyo2*ywv++R$}^O?O0)D?Pf_|4@_igdF_F9Y*OV;0iPQBd2# z2UaM~)Omx=)6iG8dKG0ToKHDp?PT(5bH>r9Wxaq0?QVMmT)6#YxF_%b0T9rw0KM0A zN$){JJ9+Tm3u5v~#60C1H<58PW~Y9_hzzkxqbfsJ@;&F?<{%Q_eO&M$BE5M6ens^| z)n01hS#9t__W2zf=yU8$lPvJJg^jIy>K^xVuOL5QxQbVv^pPt2BkA*M2hO4cEHUXc zEmM-X^Ry+aX?J3dYau;;k(>opc;}SdjdzZSs*)+GDgvirw<~)?Z7~fB#pMMXANe}WN@E2aCY;0(vZVFKnTXN|5JFKVhTR(8cIMkI z#kgiv8lv-{&v0HZ3|@gqdHWQRih$`7pXB%JXO8*SpF3}_5|&HXb3c&N^O#BhxBF@AS`&>Ij36<|50FDT;6 z=@fr;Vi*eyg_$2=cZ3O(8L70HoElQ_o2(6k9QA}S{#~17RJRU838kYtsEDWdIEaR8 zK&y|AVPSn?j9tk(j&g?%Q$umRePfv~bDMt@dj0i&t}}w7rs5t_mhdIus!G-DRA4O# zY57^znK*r{oBX+~ckF-g6Rz5cNLEt%4Jf4h+!kQImkaear^kLsCIqiJsH8Uv9EODaJK8GlzMy{grDnDKMuc zoMTRVJA;^Rgd;t0bbPnLwYuspvPQR#;+%VeG+0b zwN_*|4FG6v%JENn=cjFMsSL?FJ-Vx!1kB3Od9C)Wdon^Cn2gtf&^c6)Z z0uZFk5XTR@93T1YG|v8<#p>ANV*E;>1>;rhDy@s{_ZWn7pUW<29?S{JsQX2YqClw! zI${YA%@X4VA>HN=Ywg-<;BzY33rk`rfs;OKEXs-Ev>F;3f$J%y1Lj~&xvcEYsRD5| zu}yi{TY{oavD&ed?Fc!7cE9YfDLi(C>RIi=&mzW|&8o4)>G;`9DNKK_D;8jf&fMc>c|wT5{`GSSR&mZRkYT|` z5Hv@Gd+>?jzGgO*W=316w1yP=TR*iM?v;xq@%O&f6;1>YUTh#q^hML8FLP);4*PB% zv6INwykkP;qTTS-3Nf%FSH{7vc|x_z}(xMgF?adF?H7Y={d#;_%MJ6$kF z6L3sF6^c~BTrLn4H+Y1XcZQwXbr{~8NEj(hyrnj+Hamh+fa=wR@=C9t$FtdufmG? zgW}cB)40_<}hW@#0nSxDa?WSxItV*v{!o!=Sm7xs@yrQse4Hu0$kOc*|aj7rk^J-~(=|CRM9p>Yd? z46$e1c6>_Qlm#9Mtx_!}PQyhZi8?MwJ0dB454f@1R$|=p5L>*a&+ZAf7M1@WF1$&+ zU$e(zjGwYL9}u1w90pF}xK3EDfh|E;kN6P^tY9PciUTo^vtI(7>~ip0 zO~?Nn+1!<7Gy&g9t2NKS66E2K%bfFCpGb>Eq(QTOwA6V^Rfj@S@$%@(d#Zq zDy`2bism$@O5~ZUibn&-cu_mTwY2J3@RaMdNI~P27CbkVX`7`YRMP5sNr|oOYr~m?Sh=R6DYNUquCWU)nqFqY z;ktJ+U;-Cuh5LLG&n2qTL@NH3^)#494hDWF1-(P^2r;O1Y8S5(*t)Si7w|9!!8Tz1 zJ_l&VPuUAEu=YOvE6diln&cc+eO@+PNC0DSOdz^QtS7+h$wi95gmVAA-QumpSy;|O z;kKNatr93MJ^W^5KMCL#8&TG*k>57I*^d%tK|F?TeJ7ZVNMk)lNfK~5xG_0Tm5-0O zPz~59f3q}$lIjTU&*`e0z`i`r=cq89#uWP1>&d1CMXpQaTHAVqufk*kJ>ukBpDtM< zWC9kjP=c|{?)#4DwE@oo^~Dza2$yc4fp*zG3L}|IQa)g%@A6zoZ%Jh^-ui3CCm5z- zOCd~uP+CFy?b&GEYYveX=Jn}S{-;+@e}amkRC^J2{C}ThAz}5alX&g1YUpH{F3#%x zJGrl)l`mN{hA`_hr+~NK!M+R$Q*^0JK$6vfUP@N*C#(YLz}RXuAzrfmM>Uq60u6GK zEywHTe`3J7IN*%sGJKMY6q6^i#oNV^=D()g;ssh!yn>1?{Nqj0=?7iv^x<@}O3X)# z>!D`>;bmN!sTrLwWETLjMiUb%qImJZK`2~8mRaBtjs-tKN-RVdU{ED0Dapg0+iUyhVL9l*rR5v-ivMb1TQ5sPlNIrV5 zM$lPKeixn$fOIim=<*%P!i;ek%dG9{Z&6#Wcu)S7(PMnD-_Af{hSkIhfm#*oFFiWP zK`FVc`{N7K0#{!i3WGYw-mRhd?B0{7OudXM&d{~W-*8h9x$V^E&q0|=bx@vTjc?p;O!jHp9UDlAbux#sXSop za$^#|O%^X<1BCRn zPf@Q99I4c^RtK01=*DBBy)rW1oe9K2`pb4>GgFpFHpG+oiDNI&$f_L}PM@rjFm3X4 ztepY=%f$f?{g}!BE(VBN47yu(ZFpXm=*sSxEcugoi|PiP>ZR6JOx~j5fjlfsxMNI3 zp^|))hN?W`@b06mEOxz#!l79<<|(?E%7ypNu_7B&NVJ5a144YXaZ;y`J{kSA{4f zHB|68gfUA1aVsQew3iS|%r79I3VGl6`XZ-7t_s1wT}!sDFX7u)OT9@joqibg$=RW>8@Qa})Wj*J}c@$Q`l2M=6o<$X_WBkl7` zNZUJ4=a+c1=gul8>Dncx&Yb_7NyX}#CSPJ$io3S(`;V;4{ETj`n6Zvij>=3)L+Cv< zMxd!Q`zbCT&A|dS5lSd;-=G%v;x(~1b8l^`4a?_ZCl$Gf+Ai3V$eGg&zw6E-rAZe) zBEwQ8!)#*2lp4OiEDHQ0zbofm9upgwV<&+Xi|LAF;t{@X@qy|_LwYGQ*kNO0N++Bu52|hM;;Anhw13}^=R{f}4VxuC zx{cdvFQWI*>2;w=)k|y>TPq$wbiB3s#qvzMWqv4%^&(Uvz$+DuIVwv#SDoSF&BPAG z6XCE@NMf{xO%`8#Zc)XX?S2vIjHec*WN?_%$|;<(o=qm2f}1g%rY0Xv42OwsB0|fe zkC_j1Pwsd^)>}wN-D4#sJ^qP$X|Hc=25VA2$zSot@dIAz&|#2-NXPu=E5mUFO!S=`rv$9fpoPWjBc1ZB(lTW`Ga~UpVuKhv zwCR<%+J3IwJIk(`@=PQmj)WDvg6gbcOf9BNR_sR+$Mv`GaRDN?rtUUN04%#9`uMX= zdJ-}Fd;+wP0pEJq5+W<He7-5{+Tj>WaEl+jy;~O zC{~#axZQ0QD%Lh(k-q~Xd`{vD1qnL2)~#U#-Eqa=Zpomb)6G?OM*1G#OYxEbVf1yv zX;v5Z`Aufp^I%MX2!(d@cmWTE{Ab)2KVBb-?_wJU?>E=BiWPb<*){G7gskn|Tdxshpx&XQ5b@D7vP(j1eiaTB? za~Eb98s}gcFu=^0nbL7VKqhB>jL}xYv*FF{qAu}KGY_oAfh_XUq2J5F0nVK@jJBKM z=ppQ%5Cz-Y4zC>ek#?K{6Zvy=FtdMh7viq+@Db|B_6;rQmNxYg3egf-^mr)p#Eh}; zi9f&))BC5bWe0^z&(h%PFT#&}!Th?#2LP5OF@i2_YuH2Y>30hwz?!JUVy0bP**(;hg0^?{-s{8(w*?Qv`30`xT}e z<+EBu=H$-6ti?{0b^IrKHEUoaVk~d_3UIUQBDSPZ=0tWmlBli?2hrvjNAbqK2R3(n z{(;CHIg8|v51B#I?@>nMF1rHVcz=ZCL1YcF4lrg*Tmfww;Lc|FAFkxK#-xvC%c%sh zLt|Fj&NnCo7A~E?k7lAHZ%;%Qi8g3)PN3p8;3O>RGkY2Sjtn`9JtqC!E9G9eF2uTdo5Kvrz6Xk8 z_>11datYgjN+xu@T*^f0HrXI$S~?iBTlRuIlhv!nNt62V4c@XAV0L(D2NZ7KwHjKo zk=zQ5DEu?FY9@(d3SYWxfXF8LizOkk;;*_@QwG#X`6jD|XNVL}DDzE<ZPO96qbZv z98QqeZ04^w!z`^jt2{T^!SIApTAnhKY@@NWCG(KTd4nXC;iEKTYpk)!-={8?z@MsXhBBd?`!k`^i2Qlo-sys(9;HVl81J)47KFpTw(^5wx-j=@pGUICgIk zn|>0+lS>=6oyq$}(bK25YQ!pv^nu8~SGc*C)HC9hYEugUY)uF+qzTF5alT0Lhj}t? zcsER4B<&)K-@@Bp+E~mvNG^VXv!N1oVJ9EQ8wW@bVU}khT`5rfpU9Mu2WD! zzW(g-k~@|ZE{|RT5V3pLwNaNeDCKGc)5=5*D3Q6&*V5xiidw!x%G^c=9=-q?rn3(R zoHXW&yCHv2yOfozh(YJA z^*~W^dGR56$&Gu3qvv|4BDJ~Fbsd`W{PchkKNB>Y8W`jPyvdZ{3HRz%rkWa&kw6-k zpXajK5^Hy$<=&Z3fmi2W!|9P>AlyMPi(n<-sj$~{LK*K_6=UiQtA)nn2+8*M)(|Zj zl7|2>SDYQdOtEbb*CSmzHswJf-gY-RC)!mSn!5HjG7ys z0WiTB95EVL_Zu{$SLc6p{N}+enE4GbFGv_Yg6)x*KiFFqT&PN2{ zhz^@=#h-1j)EdH!Zd#e#cF~KA7n<4xGxaODnjirN(R!CF8X@M&?6RuWICXN59vgq}cv5NF|_+t5;H`Jkaf55k?7R;6a

hcc|lMj*l7}x$BE2gQAabr#{&c@LwS%{ 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