From 725a9dd95869231dd3ddb66002a2ee8e9553e3f7 Mon Sep 17 00:00:00 2001
From: Daniel Lundin <dln@eintr.org>
Date: Wed, 3 Jan 2018 08:47:21 +0100
Subject: [PATCH] Config updates

---
 .config/alacritty/alacritty.yml          |   95 +-
 .config/nvim/init.vim                    |  138 +-
 .config/redshift.conf                    |    6 +-
 .gitconfig                               |    1 +
 .local/share/nvim/site/autoload/plug.vim | 2504 ++++++++++++++++++++++
 .oh-my-zsh                               |    2 +-
 .tmux.conf                               |    6 +-
 .xinitrc                                 |    2 +-
 .zshrc                                   |   83 +-
 bin/dwm                                  |  Bin 46920 -> 50992 bytes
 bin/st                                   |  Bin 71616 -> 7 bytes
 11 files changed, 2727 insertions(+), 110 deletions(-)
 create mode 100644 .local/share/nvim/site/autoload/plug.vim
 mode change 100755 => 120000 bin/st

diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
index 1594a64..d2ca657 100644
--- a/.config/alacritty/alacritty.yml
+++ b/.config/alacritty/alacritty.yml
@@ -30,7 +30,7 @@ font:
     style: Italic
 
   # Point size of the font
-  size: 11.0
+  size: 16.0
   # Offset is the extra space around each character. offset.y can be thought of
   # as modifying the linespacing, and offset.x as modifying the letter spacing.
   offset:
@@ -41,61 +41,62 @@ font:
 render_timer: false
 
 # Colors (Tomorrow Night Bright)
-colors:
-  # Default colors
-  primary:
-    background: '0xfafafa'
-    foreground: '0x1d1d1c'
-
-  # Normal colors
-  normal:
-    black:   '0x212121'
-    red:     '0xb7141e'
-    green:   '0x457b23'
-    yellow:  '0xfc7b08'
-    blue:    '0x134eb2'
-    magenta: '0x550087'
-    cyan:    '0x0e707c'
-    white:   '0xeeeeee'
-
-  # Bright colors
-  bright:
-    black:   '0x424242'
-    red:     '0xe83a3f'
-    green:   '0x7aba39'
-    yellow:  '0xfc8e08'
-    blue:    '0x53a4f3'
-    magenta: '0xa94dbb'
-    cyan:    '0x26bad1'
-    white:   '0xd8d8d8'
-# Colors (Solarized Dark)
 # colors:
 #   # Default colors
 #   primary:
-#     background: '0x002b36'
-#     foreground: '0x839496'
+#     background: '0xfafafa'
+#     foreground: '0x1d1d1c'
 #
 #   # Normal colors
 #   normal:
-#     black:   '0x073642'
-#     red:     '0xdc322f'
-#     green:   '0x859900'
-#     yellow:  '0xb58900'
-#     blue:    '0x268bd2'
-#     magenta: '0xd33682'
-#     cyan:    '0x2aa198'
-#     white:   '0xeee8d5'
+#     black:   '0x212121'
+#     red:     '0xb7141e'
+#     green:   '0x457b23'
+#     yellow:  '0xfc7b08'
+#     blue:    '0x134eb2'
+#     magenta: '0x550087'
+#     cyan:    '0x0e707c'
+#     white:   '0xeeeeee'
 #
 #   # Bright colors
 #   bright:
-#     black:   '0x002b36'
-#     red:     '0xcb4b16'
-#     green:   '0x586e75'
-#     yellow:  '0x657b83'
-#     blue:    '0x839496'
-#     magenta: '0x6c71c4'
-#     cyan:    '0x93a1a1'
-#     white:   '0xfdf6e3'
+#     black:   '0x424242'
+#     red:     '0xe83a3f'
+#     green:   '0x7aba39'
+#     yellow:  '0xfc8e08'
+#     blue:    '0x53a4f3'
+#     magenta: '0xa94dbb'
+#     cyan:    '0x26bad1'
+#     white:   '0xd8d8d8'
+
+# Colors (Solarized Dark)
+colors:
+  # Default colors
+  primary:
+    background: '0x002b36'
+    foreground: '0x839496'
+
+  # Normal colors
+  normal:
+    black:   '0x073642'
+    red:     '0xdc322f'
+    green:   '0x859900'
+    yellow:  '0xb58900'
+    blue:    '0x268bd2'
+    magenta: '0xd33682'
+    cyan:    '0x2aa198'
+    white:   '0xeee8d5'
+
+  # Bright colors
+  bright:
+    black:   '0x002b36'
+    red:     '0xcb4b16'
+    green:   '0x586e75'
+    yellow:  '0x657b83'
+    blue:    '0x839496'
+    magenta: '0x6c71c4'
+    cyan:    '0x93a1a1'
+    white:   '0xfdf6e3'
 
 # Key bindings
 #
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
index 6528cd1..7b361a0 100644
--- a/.config/nvim/init.vim
+++ b/.config/nvim/init.vim
@@ -1,37 +1,46 @@
 "" Vundle
-set rtp+=~/.vim/bundle/Vundle.vim
-call vundle#begin()
+" set rtp+=~/.vim/bundle/Vundle.vim
+call plug#begin('~/.local/share/nvim/plugged')
 
 " Plugins
-Plugin 'VundleVim/Vundle.vim'
-Plugin 'airblade/vim-gitgutter'
-Plugin 'b4b4r07/vim-hcl'
-Plugin 'cespare/vim-toml'
-Plugin 'chriskempson/base16-vim'
-Plugin 'ervandew/supertab'
-Plugin 'fatih/vim-go'
-Plugin 'godlygeek/tabular'
-Plugin 'hashivim/vim-terraform'
-Plugin 'itchyny/lightline.vim'
-Plugin 'joshdick/onedark.vim'
-Plugin 'junegunn/fzf'
-Plugin 'junegunn/fzf.vim'
-Plugin 'Matt-Deacalion/vim-systemd-syntax'
-Plugin 'nanotech/jellybeans.vim'
-Plugin 'NLKNguyen/papercolor-theme'
-Plugin 'plasticboy/vim-markdown'
-Plugin 'rakr/vim-one'
-Plugin 'rust-lang/rust.vim'
-Plugin 'tomtom/tcomment_vim'
-Plugin 'tpope/vim-fugitive'
-Plugin 'tyrannicaltoucan/vim-quantum'
-Plugin 'Valloric/YouCompleteMe'
-Plugin 'w0rp/ale'
+Plug 'VundleVim/Vundle.vim'
+Plug 'airblade/vim-gitgutter'
+Plug 'b4b4r07/vim-hcl'
+Plug 'cespare/vim-toml'
+Plug 'djoshea/vim-autoread'
+Plug 'ervandew/supertab'
+Plug 'fatih/vim-go'
+Plug 'godlygeek/tabular'
+Plug 'hashivim/vim-terraform'
+Plug 'junegunn/vim-easy-align'
+Plug 'junegunn/fzf'
+Plug 'junegunn/fzf.vim'
+Plug 'junegunn/goyo.vim'
+Plug 'junegunn/gv.vim'
+Plug 'junegunn/vim-peekaboo'
+Plug 'Matt-Deacalion/vim-systemd-syntax'
+Plug 'NLKNguyen/papercolor-theme'
+Plug 'plasticboy/vim-markdown'
+Plug 'rakr/vim-one'
+Plug 'roxma/nvim-completion-manager'
+Plug 'rust-lang/rust.vim'
+Plug 'sebdah/vim-delve'
+" Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
+Plug 'Shougo/neosnippet.vim'
+Plug 'Shougo/neosnippet-snippets'
+Plug 'tomtom/tcomment_vim'
+Plug 'tpope/vim-fugitive'
+Plug 'tyrannicaltoucan/vim-quantum'
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes'
+Plug 'w0rp/ale'
 
-call vundle#end()
+call plug#end()
 
-set timeoutlen=250
-set ttimeoutlen=200
+set ttimeout
+set ttimeoutlen=0
+" set timeoutlen=150
+" set ttimeoutlen=100
 
 filetype on " detect the type of file
 filetype plugin indent on " load filetype plugins
@@ -92,6 +101,9 @@ set wildmenu
 set wildmode=list:longest
 set wildignore=*.swp,*.bak,*.pyc,*.class
 set splitbelow " Preview window
+set splitright
+
+" let mapleader=","
 
 "" Session
 let g:session_autosave = 'no'
@@ -165,7 +177,7 @@ map <silent> ,; :Commits<cr>
 map <silent> ,e :GitFiles<cr>
 map <silent> ,d :Files<cr>
 map <silent> ,f :History<cr>
-map <silent> ,g :BLines<cr>
+" map <silent> ,g :BLines<cr>
 map <silent> ,/ :Ag<cr>
 map <silent> ,m :Marks<cr>
 
@@ -325,7 +337,7 @@ map ,h :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
 \ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
 \ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>
 
-set background=light
+set background=dark
 let g:one_allow_italics=1
 let g:PaperColor_Light_Override = { 'Background' : '#fefe00' }
 
@@ -406,34 +418,61 @@ function! LightLineReadonly()
   return &ft !~? 'help' && &readonly ? '' : ''
 endfunction
 
-set statusline+=%#warningmsg#
-set statusline+=%{SyntasticStatuslineFlag()}
-set statusline+=%*
+" set statusline+=%#warningmsg#
+" set statusline+=%{SyntasticStatuslineFlag()}
+" set statusline+=%*
 
 " Golang
-let g:go_highlight_functions = 1
-let g:go_highlight_methods = 1
-let g:go_highlight_structs = 1
-let g:go_highlight_fields = 1
-let g:go_highlight_interfaces = 1
-let g:go_highlight_operators = 1
-let g:go_highlight_types = 1
 let g:go_highlight_build_constraints = 1  
+let g:go_highlight_extra_types = 1
+let g:go_highlight_fields = 1
+let g:go_highlight_functions = 1
+let g:go_highlight_interfaces = 1
+let g:go_highlight_methods = 1
+let g:go_highlight_operators = 1
+let g:go_highlight_structs = 1
+let g:go_highlight_types = 1
 let g:go_auto_sameids = 1
 let g:go_auto_type_info = 0
+" let g:go_def_mapping_enabled = 0
 let g:go_info_mode = 'guru'
-let g:go_updatetime = 500
+let g:go_updatetime = 20
+let g:go_snippet_engine = "neosnippet"
+
+autocmd FileType go nmap <Leader>i <Plug>(go-info)
+autocmd FileType go nmap <S-k> <Plug>(go-doc)
+autocmd FileType go nmap <Leader>d <Plug>(go-doc-vertical)
+
 
 " ALE
 let g:ale_sign_column_always = 1
 " let g:ale_linters = {'go': ['gometalinter', 'gofmt']}
-let g:ale_linters = {'go': ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']}
+" let g:ale_linters = {'go': ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']}
+let g:ale_linters = {'go': ['gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']}
+let g:ale_sign_error = '⤫'
+let g:ale_sign_warning = '⚠'
+let g:airline#extensions#ale#enabled = 1
 
+"" Neosnippet
+" imap <C-k>     <Plug>(neosnippet_expand_or_jump)
+" smap <C-k>     <Plug>(neosnippet_expand_or_jump)
+" xmap <C-k>     <Plug>(neosnippet_expand_target)
+" imap <expr> <CR>  (pumvisible() ?  "\<c-y>\<Plug>(expand_or_nl)" : "\<CR>")
+" imap <expr> <Plug>(expand_or_nl) (cm#completed_is_snippet() ? "\<C-k>":"\<CR>")
+"
+imap <c-j>     <Plug>(neosnippet_expand_or_jump)
+vmap <c-j>     <Plug>(neosnippet_expand_or_jump)
+inoremap <silent> <c-u> <c-r>=cm#sources#neosnippet#trigger_or_popup("\<Plug>(neosnippet_expand_or_jump)")<cr>
+vmap <c-u>     <Plug>(neosnippet_expand_target)
+" expand parameters
+let g:neosnippet#enable_completed_snippet=1
 
 " Hugo
 let g:vim_markdown_frontmatter = 1
 let g:vim_markdown_toml_frontmatter = 1
 
+
+"" Git
 let g:gitgutter_override_sign_column_highlight = 0
 let g:gitgutter_sign_added = '🞥'
 let g:gitgutter_sign_modified = '▲'
@@ -441,16 +480,19 @@ let g:gitgutter_sign_removed = '🞬'
 let g:gitgutter_sign_removed_first_line = '🞬'
 let g:gitgutter_sign_modified_removed = '🞬'
 
+"" Airline
+" let g:airline#extensions#tabline#enabled = 1
+let g:airline_theme='distinguished'
+
+"" Terminal
+
 let $NVIM_TUI_ENABLE_TRUE_COLOR=1
 set termguicolors
 let &t_8f = "<Esc>[38;2;%lu;%lu;%lum"
 let &t_8b = "<Esc>[48;2;%lu;%lu;%lum"
-" let base16colorspace=256
 
 " color dln-light
-" color jellybeans
-" color one
-color base16-tomorrow
+color dln-dark
 
 " highlight LineNr ctermfg=31 ctermbg=234 cterm=italic
 " highlight CursorLine ctermfg=159 ctermbg=24
@@ -462,5 +504,5 @@ highlight GitGutterChange ctermbg=234 ctermfg=220
 highlight GitGutterDelete ctermbg=234 ctermfg=124
 highlight GitGutterChangeDelete ctermbg=234 ctermfg=88
 
-map ,m :color dln<CR>
+map ,l :color dln-dark<CR>
 
diff --git a/.config/redshift.conf b/.config/redshift.conf
index d957e48..1fda982 100644
--- a/.config/redshift.conf
+++ b/.config/redshift.conf
@@ -1,8 +1,8 @@
 [redshift]
-temp-day=5800
-temp-night=3700
+temp-day=3900
+temp-night=3400
 brightness-day=0.99
-brightness-night=0.5
+brightness-night=0.95
 location-provider=manual
 transition=0
 
diff --git a/.gitconfig b/.gitconfig
index d737b69..4cc94be 100644
--- a/.gitconfig
+++ b/.gitconfig
@@ -135,3 +135,4 @@ diff-chunk = magenta default bold
 	stripLeadingSymbols = true
 [hub]
 	protocol = git
+[http]
diff --git a/.local/share/nvim/site/autoload/plug.vim b/.local/share/nvim/site/autoload/plug.vim
new file mode 100644
index 0000000..143c377
--- /dev/null
+++ b/.local/share/nvim/site/autoload/plug.vim
@@ -0,0 +1,2504 @@
+" vim-plug: Vim plugin manager
+" ============================
+"
+" Download plug.vim and put it in ~/.vim/autoload
+"
+"   curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
+"     https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
+"
+" Edit your .vimrc
+"
+"   call plug#begin('~/.vim/plugged')
+"
+"   " Make sure you use single quotes
+"
+"   " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
+"   Plug 'junegunn/vim-easy-align'
+"
+"   " Any valid git URL is allowed
+"   Plug 'https://github.com/junegunn/vim-github-dashboard.git'
+"
+"   " Multiple Plug commands can be written in a single line using | separators
+"   Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
+"
+"   " On-demand loading
+"   Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
+"   Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
+"
+"   " Using a non-master branch
+"   Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
+"
+"   " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
+"   Plug 'fatih/vim-go', { 'tag': '*' }
+"
+"   " Plugin options
+"   Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
+"
+"   " Plugin outside ~/.vim/plugged with post-update hook
+"   Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+"
+"   " Unmanaged plugin (manually installed and updated)
+"   Plug '~/my-prototype-plugin'
+"
+"   " Initialize plugin system
+"   call plug#end()
+"
+" Then reload .vimrc and :PlugInstall to install plugins.
+"
+" Plug options:
+"
+"| Option                  | Description                                      |
+"| ----------------------- | ------------------------------------------------ |
+"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use       |
+"| `rtp`                   | Subdirectory that contains Vim plugin            |
+"| `dir`                   | Custom directory for the plugin                  |
+"| `as`                    | Use different name for the plugin                |
+"| `do`                    | Post-update hook (string or funcref)             |
+"| `on`                    | On-demand loading: Commands or `<Plug>`-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') || has('win64')
+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')
+let s:me = resolve(expand('<sfile>:p'))
+let s:base_spec = { 'branch': 'master', '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! plug#begin(...)
+  if a:0 > 0
+    let s:plug_home_org = a:1
+    let home = s:path(fnamemodify(expand(a:1), ':p'))
+  elseif exists('g:plug_home')
+    let home = s:path(g:plug_home)
+  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 fnamemodify(home, ':t') ==# 'plugin' && 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#(<args>)
+  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
+  command! -nargs=* -bar -bang -complete=customlist,s:names PlugInstall call s:install(<bang>0, [<f-args>])
+  command! -nargs=* -bar -bang -complete=customlist,s:names PlugUpdate  call s:update(<bang>0, [<f-args>])
+  command! -nargs=0 -bar -bang PlugClean call s:clean(<bang>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(<bang>0, <f-args>)
+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! plug#end()
+  if !exists('g:plugs')
+    return s:err('Call plug#begin() first')
+  endif
+
+  if exists('#PlugLOD')
+    augroup PlugLOD
+      autocmd!
+    augroup END
+    augroup! PlugLOD
+  endif
+  let lod = { 'ft': {}, 'map': {}, 'cmd': {} }
+
+  if exists('g:did_load_filetypes')
+    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) || !has_key(plug, 'on') && !has_key(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 =~? '^<Plug>.\+'
+          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 `<Plug>`.')
+        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')
+        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, "<bang>", <line1>, <line2>, <q-args>, %s)',
+    \ cmd, string(cmd), string(names))
+  endfor
+
+  for [map, names] in items(lod.map)
+    for [mode, map_prefix, key_prefix] in
+          \ [['i', '<C-O>', ''], ['n', '', ''], ['v', '', 'gv'], ['o', '', '']]
+      execute printf(
+      \ '%snoremap <silent> %s %s:<C-U>call <SID>lod_map(%s, %s, %s, "%s")<CR>',
+      \ 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 <SID>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')
+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
+
+if s:is_win
+  function! s:rtp(spec)
+    return s:path(a:spec.dir . get(a:spec, 'rtp', ''))
+  endfunction
+
+  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
+else
+  function! s:rtp(spec)
+    return s:dirpath(a:spec.dir . get(a:spec, 'rtp', ''))
+  endfunction
+
+  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')) ? '<nomodeline>' : '') 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']
+      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')
+    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 = "\<esc>" . prefix
+      endif
+      let prefix .= v:operator
+    endif
+    call feedkeys(prefix, 'n')
+  endif
+  call feedkeys(substitute(a:map, '^<Plug>', "\<Plug>", '') . 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', 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(v:exception)
+  endtry
+endfunction
+
+function! s:parse_options(arg)
+  let opts = copy(s:base_spec)
+  let type = type(a:arg)
+  if type == s:TYPE.string
+    let opts.tag = a:arg
+  elseif type == s:TYPE.dict
+    call extend(opts, a:arg)
+    if has_key(opts, 'dir')
+      let opts.dir = s:dirpath(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(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 /^-/
+  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 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', 'vertical topleft new')
+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 <silent> <buffer> R  :call <SID>retry()<cr>
+  nnoremap <silent> <buffer> D  :PlugDiff<cr>
+  nnoremap <silent> <buffer> S  :PlugStatus<cr>
+  nnoremap <silent> <buffer> U  :call <SID>status_update()<cr>
+  xnoremap <silent> <buffer> U  :call <SID>status_update()<cr>
+  nnoremap <silent> <buffer> ]] :silent! call <SID>section('')<cr>
+  nnoremap <silent> <buffer> [[ :silent! call <SID>section('b')<cr>
+endfunction
+
+function! s:prepare(...)
+  if empty(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 <silent> <buffer> q  :if b:plug_preview==1<bar>pc<bar>endif<bar>bd<cr>
+  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 ['<cr>', 'L', 'o', 'X', 'd', 'dd']
+    execute 'silent! unmap <buffer>' k
+  endfor
+  setlocal buftype=nofile bufhidden=wipe nobuflisted nolist noswapfile nowrap cursorline modifiable nospell
+  setf vim-plug
+  if exists('g:syntax_on')
+    call s:syntax()
+  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=cmd.exe shellcmdflag=/c shellredir=>%s\ 2>&1
+  elseif a:swap
+    set shell=sh shellredir=>%s\ 2>&1
+  endif
+  return prev
+endfunction
+
+function! s:bang(cmd, ...)
+  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 = tempname().'.bat'
+      call writefile(['@echo off', cmd], batchfile)
+      let cmd = batchfile
+    endif
+    let g:_plug_bang = (s:is_win && has('gui_running') ? 'silent ' : '').'!'.escape(cmd, '#!%')
+    execute "normal! :execute g:_plug_bang\<cr>\<cr>"
+  finally
+    unlet g:_plug_bang
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win
+      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)
+  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
+          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:system('git rev-parse HEAD', a:spec.dir)
+  if !v:shell_error && !s:hash_match(sha, s:lines(output)[0])
+    let output = s:system(
+          \ 'git fetch --depth 999999 && git checkout '.s:esc(sha).' --', a:spec.dir)
+  endif
+  return output
+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 =~ '^- ' && stridx(v:val, 'Already up-to-date') < 0"))
+    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(copy(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
+
+  let s:clone_opt = get(g:, 'plug_shallow', 1) ?
+        \ '--depth 1' . (s:git_version_requirement(1, 7, 10) ? ' --no-single-branch' : '') : ''
+
+  if has('win32unix')
+    let s:clone_opt .= ' -c core.eol=lf -c core.autocrlf=input'
+  endif
+
+  " 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
+      if has_key(spec, 'commit')
+        call s:log4(name, 'Checking out '.spec.commit)
+        let out = s:checkout(spec)
+      elseif has_key(spec, 'tag')
+        let tag = spec.tag
+        if tag =~ '\*'
+          let tags = s:lines(s:system('git tag --list '.s:shellesc(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 '.s:esc(tag).' -- 2>&1', spec.dir)
+      else
+        let branch = s:esc(get(spec, 'branch', 'master'))
+        call s:log4(name, 'Merging origin/'.branch)
+        let out = s:system('git checkout -q '.branch.' -- 2>&1'
+              \. (has_key(s:update.new, name) ? '' : ('&& git merge --ff-only origin/'.branch.' 2>&1')), spec.dir)
+      endif
+      if !v:shell_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 2>&1', spec.dir)
+      endif
+      let msg = s:format_message(v:shell_error ? 'x': '-', name, out)
+      if v:shell_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:system('rm -rf ' . s:shellesc(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)
+    call s:log(bullet, self.name, result)
+  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' ?
+    \ 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, cmd, opts)
+  let job = { 'name': a:name, 'running': 1, 'error': 0, 'lines': [''],
+            \ 'batchfile': (s:is_win && (s:nvim || s:vim8)) ? tempname().'.bat' : '',
+            \ 'new': get(a:opts, 'new', 0) }
+  let s:jobs[a:name] = job
+  let cmd = has_key(a:opts, 'dir') ? s:with_cd(a:cmd, a:opts.dir) : a:cmd
+  if !empty(job.batchfile)
+    call writefile(['@echo off', cmd], job.batchfile)
+    let cmd = job.batchfile
+  endif
+  let argv = add(s:is_win ? ['cmd', '/c'] : ['sh', '-c'], cmd)
+
+  if s:nvim
+    call extend(job, {
+    \ 'on_stdout': function('s:nvim_cb'),
+    \ 'on_exit':   function('s:nvim_cb'),
+    \ })
+    let jid = 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 jid = job_start(s:is_win ? join(argv, ' ') : argv, {
+    \ 'out_cb':   function('s:job_cb', ['s:job_out_cb',  job]),
+    \ 'exit_cb':  function('s:job_cb', ['s:job_exit_cb', job]),
+    \ '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', [cmd]))
+    let job.error = v:shell_error != 0
+    let job.running = 0
+  endif
+endfunction
+
+function! s:reap(name)
+  let job = 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 s:update.bar .= job.error ? 'x' : '='
+
+  let bullet = job.error ? 'x' : '-'
+  let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
+  call s:log(bullet, a:name, empty(result) ? 'OK' : result)
+  call s:bar()
+
+  if has_key(job, 'batchfile') && !empty(job.batchfile)
+    call delete(job.batchfile)
+  endif
+  call remove(s:jobs, a:name)
+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)
+  for i in range(4, line('$'))
+    if getline(i) =~# '^[-+x*] '.a:name.':'
+      for j in range(i + 1, line('$'))
+        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: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 new  = !isdirectory(spec.dir)
+
+  call s:log(new ? '+' : '*', name, pull ? 'Updating ...' : 'Installing ...')
+  redraw
+
+  let has_tag = has_key(spec, 'tag')
+  if !new
+    let [error, _] = s:git_validate(spec, 0)
+    if empty(error)
+      if pull
+        let fetch_opt = (has_tag && !empty(globpath(spec.dir, '.git/shallow'))) ? '--depth 99999999' : ''
+        call s:spawn(name, printf('git fetch %s %s 2>&1', fetch_opt, prog), { '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
+    call s:spawn(name,
+          \ printf('git clone %s %s %s %s 2>&1',
+          \ has_tag ? '' : s:clone_opt,
+          \ prog,
+          \ s:shellesc(spec.uri),
+          \ s:shellesc(s:trim(spec.dir))), { '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 = 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')
+  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)
+  let escaped = substitute(a:arg, '[&|<>()@^]', '^&', 'g')
+  let escaped = substitute(escaped, '%', '%%', 'g')
+  let escaped = substitute(escaped, '"', '\\^&', 'g')
+  let escaped = substitute(escaped, '\(\\\+\)\(\\^\)', '\1\1\2', 'g')
+  return '^"'.substitute(escaped, '\(\\\+\)$', '\1\1', '').'^"'
+endfunction
+
+function! s:shellesc(arg)
+  if &shell =~# 'cmd.exe$'
+    return s:shellesc_cmd(a:arg)
+  endif
+  return shellescape(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)
+  return printf('cd%s %s && %s', s:is_win ? ' /d' : '', s:shellesc(a:dir), a:cmd)
+endfunction
+
+function! s:system(cmd, ...)
+  try
+    let [sh, shellcmdflag, shrd] = s:chsh(1)
+    let cmd = a:0 > 0 ? s:with_cd(a:cmd, a:1) : a:cmd
+    if s:is_win
+      let batchfile = tempname().'.bat'
+      call writefile(['@echo off', cmd], batchfile)
+      let cmd = batchfile
+    endif
+    return system(s:is_win ? '('.cmd.')' : cmd)
+  finally
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win
+      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:lines(s:system('git rev-parse --abbrev-ref HEAD 2>&1 && git config -f .git/config remote.origin.url', a:spec.dir))
+    let remote = result[-1]
+    if v:shell_error
+      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 result = s:lines(s:system('git rev-parse HEAD 2>&1', a:spec.dir))
+      let sha = result[-1]
+      if v:shell_error
+        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 branch = result[0]
+      " Check tag
+      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 a:spec.branch !=# branch
+        let err = printf('Invalid branch: %s (expected: %s). Try PlugUpdate.',
+              \ branch, a:spec.branch)
+      endif
+      if empty(err)
+        let [ahead, behind] = split(s:lastline(s:system(printf(
+              \ 'git rev-list --count --left-right HEAD...origin/%s',
+              \ a:spec.branch), a:spec.dir)), '\t')
+        if !v:shell_error && ahead
+          if 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.', a:spec.branch, ahead, behind)
+          else
+            let err = printf("Ahead of origin/%s by %d commit(s).\n"
+                  \ .'Cannot update until local changes are pushed.',
+                  \ a:spec.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)
+    call s:system((s:is_win ? 'rmdir /S /Q ' : 'rm -rf ') . s:shellesc(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(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 <silent> <buffer> d :set opfunc=<sid>delete_op<cr>g@
+      nmap     <silent> <buffer> dd d_
+      xnoremap <silent> <buffer> d :<c-u>call <sid>delete_op(visualmode(), 1)<cr>
+      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
+  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
+        call s:rm_rf(line[2:])
+        setlocal modifiable
+        call setline(l1, '~'.line[1:])
+        let s:clean_count += 1
+        call setline(4, printf('Removed %d directories.', s:clean_count))
+        setlocal nomodifiable
+      endif
+    endif
+    let l1 += 1
+  endwhile
+endfunction
+
+function! s:upgrade()
+  echo 'Downloading the latest version of vim-plug'
+  redraw
+  let tmp = tempname()
+  let new = tmp . '/plug.vim'
+
+  try
+    let out = s:system(printf('git clone --depth 1 %s %s', 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 <silent> <buffer> L :call <SID>status_load(line('.'))<cr>
+    xnoremap <silent> <buffer> L :call <SID>status_load(line('.'))<cr>
+  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)
+    return
+  endif
+
+  let name = s:find_name(line('.'))
+  if empty(name) || !has_key(g:plugs, name) || !isdirectory(g:plugs[name].dir)
+    return
+  endif
+
+  if exists('g:plug_pwindow') && !s:is_preview_window_open()
+    execute g:plug_pwindow
+    execute 'e' sha
+  else
+    execute 'pedit' sha
+    wincmd P
+  endif
+  setlocal previewwindow filetype=git buftype=nofile nobuflisted modifiable
+  try
+    let [sh, shellcmdflag, shrd] = s:chsh(1)
+    let cmd = 'cd '.s:shellesc(g:plugs[name].dir).' && git show --no-color --pretty=medium '.sha
+    if s:is_win
+      let batchfile = tempname().'.bat'
+      call writefile(['@echo off', cmd], batchfile)
+      let cmd = batchfile
+    endif
+    execute 'silent %!' cmd
+  finally
+    let [&shell, &shellcmdflag, &shellredir] = [sh, shellcmdflag, shrd]
+    if s:is_win
+      call delete(batchfile)
+    endif
+  endtry
+  setlocal nomodifiable
+  nnoremap <silent> <buffer> q :q<cr>
+  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 range = origin ? '..origin/'.v.branch : 'HEAD@{1}..'
+      let diff = s:system_chomp('git log --graph --color=never '.join(map(['--pretty=format:%x01%h%x01%d%x01%s%x01%cr', range], 's:shellesc(v:val)')), 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
+      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 <silent> <buffer> <cr> :silent! call <SID>preview_commit()<cr>
+    nnoremap <silent> <buffer> o    :silent! call <SID>preview_commit()<cr>
+  endif
+  if cnts[0]
+    nnoremap <silent> <buffer> X :call <SID>revert()<cr>
+    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 '.s:esc(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") && !has_key(v:val, "commit") && isdirectory(v:val.dir)')))
+  for name in reverse(names)
+    let sha = s:system_chomp('git rev-parse --short HEAD', 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 = 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, '\\\@<!,')
+endfunction
+
+let s:first_rtp = s:escrtp(get(s:split_rtp(), 0, ''))
+let s:last_rtp  = s:escrtp(get(s:split_rtp(), -1, ''))
+
+if exists('g:plugs')
+  let g:plugs_order = get(g:, 'plugs_order', keys(g:plugs))
+  call s:upgrade_specs()
+  call s:define_commands()
+endif
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/.oh-my-zsh b/.oh-my-zsh
index d848c94..e273cf0 160000
--- a/.oh-my-zsh
+++ b/.oh-my-zsh
@@ -1 +1 @@
-Subproject commit d848c94804918138375041a9f800f401bec12068
+Subproject commit e273cf004e1ff0510aee61416885f3003bcd15d9
diff --git a/.tmux.conf b/.tmux.conf
index 15150a4..9f9e7e6 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -33,6 +33,7 @@ set -g set-titles-string "###I : #T"
 #set -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name, active(or not)
 
 # Key bindings
+bind -n M-Tab last-pane
 bind -n M-1 select-window -t 1
 bind -n M-- select-window -t 2
 bind -n M-2 select-window -t 2
@@ -70,9 +71,10 @@ bind C-s set-option -g status
 bind s split-window -h
 bind S split-window -v
 bind q kill-pane
-bind Tab select-pane -D
+bind Tab last-pane
 bind C-p select-pane -U
 bind K confirm kill-server
+bind C-k clear-history
 
 # Colors (MonoLight)
 set -g status-fg "#cccccc"
@@ -118,6 +120,6 @@ selectw -t 1
 
 run-shell ~/src/github.com/tmux-plugins/tmux-battery/battery.tmux
 
-source /usr/lib/python3.6/site-packages/powerline/bindings/tmux/powerline.conf
+# source /usr/lib/python3.6/site-packages/powerline/bindings/tmux/powerline.conf
 
 # vim:set ft=tmux:
diff --git a/.xinitrc b/.xinitrc
index c626133..bc1a738 100755
--- a/.xinitrc
+++ b/.xinitrc
@@ -7,7 +7,7 @@ if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 fi
 
 . $HOME/.bashrc
-xsetroot -solid \#78909C
+xsetroot -solid \#202020
 xmodmap $HOME/.Xmodmap
 feh --bg-fill $HOME/Images/desktop.jpg || true
 setxkbmap -option ctrl:nocaps,grp:switch,grp_led:scroll us,se
diff --git a/.zshrc b/.zshrc
index bbbc810..f4c2d97 100644
--- a/.zshrc
+++ b/.zshrc
@@ -2,7 +2,7 @@
 # export PATH=$HOME/bin:/usr/local/bin:$PATH
 
 # Path to your oh-my-zsh installation.
-  export ZSH=/home/dln/.oh-my-zsh
+  # export ZSH=/home/dln/.oh-my-zsh
 
 # Set name of the theme to load. Optionally, if you set this to "random"
 # it'll load a random theme each time that oh-my-zsh is loaded.
@@ -51,11 +51,64 @@ ZSH_THEME="robbyrussell"
 # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
 # Example format: plugins=(rails git textmate ruby lighthouse)
 # Add wisely, as too many plugins slow down shell startup.
-plugins=(git git-extras history-substring-search)
+# plugins=(git git-extras history-substring-search vault)
+#
+# source $ZSH/oh-my-zsh.sh
+# source ~/.oh-my-zsh/plugins/zsh-titles/titles.plugin.zsh
 
-source $ZSH/oh-my-zsh.sh
+source "${HOME}/.zgen/zgen.zsh"
 
-source ~/.oh-my-zsh/plugins/zsh-titles/titles.plugin.zsh
+function short_pwd {
+  echo $PWD | sed "s:${HOME}:~:" | sed "s:/\(.\)[^/]*:/\1:g" | sed "s:/[^/]*$:/$(basename $PWD):"
+}
+
+function _dln_prompt_left {
+  _pw="$(short_pwd)"
+  echo -e "%{\e[38;5;246m%}$_pw "
+}
+
+function _dln_prompt_right {
+  _tmux_win=`tmux display-message -p "#I"`
+  echo -e " %{\e[38;5;16;48;5;30m%} ${_tmux_win} %{\e[0m%}"
+}
+
+export PROMPT_LEAN_COLOR1=78
+export PROMPT_LEAN_COLOR2=67
+export PROMPT_LEAN_TMUX=''
+export PROMPT_LEAN_PATH_PERCENT=50
+export PROMPT_LEAN_LEFT=_dln_prompt_left
+# export PROMPT_LEAN_RIGHT=_dln_prompt_right
+
+# if the init scipt doesn't exist
+if ! zgen saved; then
+
+  zgen oh-my-zsh
+  zgen oh-my-zsh plugins/command-not-found
+  zgen oh-my-zsh plugins/git
+  zgen oh-my-zsh plugins/git-extras
+  zgen oh-my-zsh plugins/history-substring-search
+
+  zgen load uvaes/fzf-marks
+  zgen load miekg/lean
+
+  zgen save
+fi
+
+function prompt_command {
+  banner="$USER@$HOST"
+  ((prompt_x = $(tput cols) - $(expr length ${banner}) - 3))
+  tput sc
+  tput cup 0 ${prompt_x}
+  if [ "$USER" = "root" ]; then
+    echo -ne " \e[38;5;228;48;5;160m ${banner} \e[0m"
+  else
+    echo -ne " \e[38;5;195;48;5;33m ${banner} \e[0m"
+  fi
+  tput rc
+  #tmux rename-window `basename $PWD`
+  tmux rename-window $(short_pwd) 2>/dev/null
+  eval $(tmux switch-client \; show-environment -s 2>/dev/null)
+}
 
 # User configuration
 
@@ -101,22 +154,34 @@ cd_func ()
 }
 alias cd=cd_func
 
+## vim
+export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket
+
+e ()
+{
+  tmux select-window -t1 
+  nvr --remote $(readlink -f "$@")
+}
 
 ## Powerline
-. /usr/lib/python3.6/site-packages/powerline/bindings/zsh/powerline.zsh
+# . /usr/lib/python3.6/site-packages/powerline/bindings/zsh/powerline.zsh
 
 ## fzf
 export FZF_TMUX=1
-export FZF_COMPLETION_TRIGGER="."
+export FZF_COMPLETION_TRIGGER=";"
 . /usr/share/fzf/completion.zsh
 . /usr/share/fzf/key-bindings.zsh
 
 # Kubernetes
-source <(kubectl completion zsh)
-[ -f $HOME/bin/kops ] && source <($HOME/bin/kops completion zsh)
+command -v kubectl >/dev/null 2>&1 && source <(kubectl completion zsh)
+command -v kops >/dev/null 2>&1 && source <(kops completion zsh)
+command -v helm >/dev/null 2>&1 && source <(helm completion zsh)
 
 [ -f /opt/google-cloud-sdk/completion.zsh.inc ] && source /opt/google-cloud-sdk/completion.zsh.inc
 
+# Pager
+command -v pygmentize >/dev/null 2>&1 && export LESSOPEN="|/usr/bin/pygmentize -f terminal16m -O style=native %s"
+
 ## Aliases
 alias ag='ag --pager less'
 alias cdiff='colordiff -u'
@@ -131,6 +196,8 @@ alias tree='tree -C'
 alias upper="tr '[:lower:]' '[:upper:]'"
 alias vimdiff='vimdiff -R'
 alias vim=nvim
+alias xc='xclip -selection clipboard'
+# alias e='nvr --remote'
 
 
 
diff --git a/bin/dwm b/bin/dwm
index b70545e0236d07c927ef26ebfc9a2cebf07231b0..5553a0e40439c0bb43cbb2f7d67436656ebe4c5a 100755
GIT binary patch
literal 50992
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

literal 46920
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

diff --git a/bin/st b/bin/st
deleted file mode 100755
index a0bb9108f65b191a823b5688287e6e744afb2e2b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 71616
zcmb<-^>JfjWMqH=W(GS35KkZ&BH{p{7#ajXq7aS)g9QU8g9C#sgA4;30|Nsq0|Nt0
z9XkC3strbSK#X8uW?*1oVPIgeV1fvs(=rfY1{e)B2JAMFeNbr(YRxT(5R7JEPyh>n
z^n=`L@CeLhFn9zJhts+c@q}~;4bum59!OuqTZnkWTZldw9RO0mz`y{bVg3X84TM9W
z^60b+#5e{R4N?md3V2$Q0%8js2k{sf&}k7+z%ei|z-W+KkjlWPB`F|xg4o1h0jQ!N
zsC~G?<pM86A&drvBS=I)Co{>+L_a4*HzzZ%v_iMS!c5o9M6Wns&j=i^AoD?L-TgvA
z${9ex0CFEF^gwPFVPF8K0g$|I&z&7dr}elqsUM52;gnuD<xN&B$eY~^4B+?%>FYSC
zz{tSjzzq`XWnf^Kz`($;>+z%-XV<H5ZWKnySbXZ1+1dM%@Ac*Pd|(T45G>3L3_@7s
zwzFXuw_(LD&dP{gd@%!daUCY?;(9pT(}BbMejMWdIK=sJ`0EV|4)@?N=M@frCEySj
z#$k>!j_^Fp2+MJ(k+TVh`K>t2`G-S&G!AhA9Oii8P~VRuz7FDu-+4I9*^fg!4@bB)
z;!ytqhj<hY@!2@yot+(fdH@xN*z(It9Of*<5kAE@#Cvd<Bab6IwQ=}sIga$xh9f+;
z<1j}JhkJx@xMv0q^S|Km?-v~AT*Bf0FdX@p8;ARk;ShIVWMEK2&01idI1c}A!{Pp!
zINbjTM?UJqq5dik^+$2oI~_+jc;Ik<0uJ#!9O2`H!`@UJ@%t2qzc%79zY2%AA`bJH
z<1qg@j&P8{;eHn!>ceo@Yl%Z#4Ttz`9PV6&!@pN>h@0bxuRA#04{8HoE0?a|a8EG~
zdu4E#e+)<Z{Ex$(f;hzg;fR+y9QH=waQ_7y=2+tJR~(M`0yTfJh1(At?n%HA4iPx~
ztBJ#$J2>3`4u|>Qarny|hxvRs%-@Z}ottskYlkEJ-{1((Y#i<h#^Ih7IQ(UTL%lB!
zch=zWS3M4M(s78J;Be0j9QFp`P+y2cy%Y}hDmcWwaD;z5j__y15&jK0)Zf4nZpk?8
zHNj!d8XW$8fg_v^aH!|RVQ(1@@e?@wy9tMSYjy?(0R}0C37(4J`W{ATfW;*l68KTY
z^}*s&7~;1X7#IW@5aO_Y?gp@bxfwDXVJ1Up4X`*r!xK<L3nBy|b25{XLES_%hWPl3
zg7o;L#NyPv#N1Sd;?$Cy{N%)(REC1oqN4mFhV;~ug7VVL6o$0?qHKov_~Mep<m~w5
zjO_Td#LOIqg3^-YjKm^_qSVBkocv^l_|%Hb5{BH=+~f?1-pmw+?97}ThT@W<l+pqa
zRg#~>P?B7nnwOGPl$r=KGqtEFFFzh+Z%Jl;9>}Z|hLq9*BZktv;?$DVyfTKgg3^*=
zhJxbMoYdqJhFqv!@yR8X1*!2#Agv&Wf>ailq@)%VF_b5lXQq^7Fl6Q@m*g-MR~DC~
z=7N-fe3Dv`np{=@@=IlLS$uJ3dR}4<Lvl`ja&~-rYDr0EZYo1!Nq#0nd17WsL1qd_
zsyLM)zaTXa<b06F;^UJm664b{^AdA1tH6O)oS6dhb#8uHDp*l2*sG8rjE@HeHz?$a
zO5$@9GxHeAi!w`68OqWMiZb&`(in>Kpp3Ml)KrF?%%ogs+<1og#;2qfrKV>Vm!uYj
z_&Vq0=cR@uCgr3u#K))S=I22Tjc14lDaEQVIW;pU4P<Ch3CL7K5HrHi5X3fPhzLl{
zOUcYjXNYji%qdANaxF{ED`AN6FG$UE$t*6&Nvvdua4t$sEJ=0C&ns~*Eh^40Vu<j}
zD@iTNb1ccvg~<kFR^%oYFhm5W=A}T*a8E4>21i$Bex84MUTP6TgmXq>UV3VHW?o8u
zxnoI5QD#zUNop}jS4p_9A1L`ngo0w+)7dRQxwM!e!Z)!1qM9KhAhD=8)jc&oH?^dw
zk|Dx9wFDv)P?TSgT2xZW5aE_nTATrMkh?QOgiC5#VrfoEaB@*<Y95H2lUkCBP!I8!
zCq!XpUMkFYAftUfGV@A`89-5-$q?ZNiWZo0E~y128DKYuq*jz5j0;XJ@d4)?-~5!!
zw9M3^Vu(gq&;;e@L!HbJ;Rwnr!I@R55Njfw^YhA5ixA-jaxB>GVVT9Hi8&1MnR%Hd
z;5f<&N=+_F%uCNnWr*-gttf#8c5rG5JkY=)<(!`bimBk#l5nVBBAoLJDjkbb6Txmr
zkDB1hykxM1TYgb$dQpC9UJ95S?hEx{CMcqyAqqAe8s8;g6(#w}`8maqgyZSU5K&r^
zW&sKwpUmQtkbDpeY78hnfl~p3AC#I5ax5(PA<+VfTn13c<fSHqiUq&Y+$2yU%1!dg
z&(AI`2relCCEOfPBFfAGC1*o$9xW)T1Sjz{aB??da7zwIECHogm(qfq%;dz9RD_UY
zN{Ul{ehxywJ+;IozZ8_e5ZY2f@}SfS4p@X*m(=2tqWnq*w`Ax1ytK^p;L@bxlFX7)
zum#Q;iABMwB?vW8M>wXWfO1cIY7xR9$CMPfrO*&YG0PJi`DrDfV05i0NzE%M4lPNu
zV2DU7aVbhH4^Ay{&dDqQaY43v=B1=ofH)vIP-+3O!7&C-bzzA)rKunxkTfK$K|FBw
z&dDzZOMz8G5<SEUNX7-Ji^xe!frLXuS_xPk*i=yPfTTf&y603DWPr>IE=WxV34++5
z5(OFrAR&-CsJlT<1SjZXkOWArZ(>Pu1}F~G^7BfP!C?!DUbkeB2ZK{f98*$2ER-Mw
z2?VE>Ft{ay%m~gef-{k$0W6nV0<i*a9yA<sGLt|hFsM=iS!l)(pPG_blE@GrpHy57
zDQX$wQ}a?7+<iQqoa2r3jPy+5Y!f)k7|t>@hg7#9k_kNe%D@1kLF2G67HEtW#0FuI
zI0!@75S1`K$P5SuiGbulJP;d1gLJS!ZGi9*BuEVe!*qe<Kx~*Ogby+U#6rfbVD}=6
zfb_ulpfO=oT_9NqhL9jxb_Ng$(*vOy89<N;OoGOj85vHqfZ9lq@yAlBOil&{b_NHK
zR`B>UBg0%qba^%;c^2>(HE6sWWWGpdCNF44#0T7tVqg#k^H~_ep#13*r?G)Xz7wE)
zh<!|O^I-E4u=bTe2*^|h1`FtX1x)+`Y<>n!+#58o$iTqhfhO(`6%RlY4~B|Ipoxb=
z#S_rPqoLv%XyWlu@d9-5-4OR1JO+*YGcds1Z@UK~Zh<DA3^m6AO*|bc?tvzr4HXYS
z6VHc=N1%xpL&X!&#LJ=L8EE3wQ1JpZ@j9q@1)6vxRJ;LAycH_mfhOJw6`z16-U}6<
zfhIl?D!u?sd@59Y1)BIwsQ3mn@wrg(9cbbUq2dS7#Fs+FPoRmfgo<B46JHAzzkw#c
z5i0%wO?)d<`~{l$PN?_?H1WMq@gHd72chB&Pf*j_QK&cvn)pemxB!~?S*W-Kn)n5%
zxB{B^6{xrdn)r37cmTTiT1fg&Kof7?3K7ph6F;^EB3^(dt_KzGKoge(O`L${$#94-
zKoj5I0x^FFn)r!ai1-CG@$X>}@egR?P5BUUg{P?D{|q!R%D}*2fF|x24^eM{CcbVx
zMBD>S{5RA+325T1&~VN`6aRk*Vom{?IQwCUcm<j`KUBN{O<Wu*-hn1A4;7z)Caw+@
zpMfU+cOS&w1!&^>Q1vU&#Lc1N8_>k<q2fEx#NDCd2hha*q2edd#KWQD7tqAxq2f2t
z#M7bT3D9|PSb3fg70*BuFNca3po!N*#VgRn+o9q=-lL`;*!Y6S7gTW=zu+sX_$_F9
zn1CjJA1b~9P5c>D`~sTzE2#JfH1YRPae;5B_I`$n8=#4Qhl&TFiT{R*7ods%hl)=?
z6K6gENk1FV#Mz<Z7tqAHq2eFV#QCA(0^d>HFANnoKob{-iU**HOGCvA(8T4T;uFxs
z)u7@V(8RT&;up}w^`YV)(8P_Q;sQTV-ERdIH$W4&gNg^BiMv9@3(&;9pyCtI!~>z?
z8_>kVpyC(M#ABi2AJD{;pyC2QQQe;g6*oW=&xMKypotej#S75H%c0^E(8Q~u;v3M!
zo1o$s(8SxJ;vdk&`=H_izfj#j2`X-YCO#c19)Ko38!BFaCO#i3J^@W!;UF~qqlqg+
z#V??VFNT`)0Zn{4R9xUUs{2<%#SPHJ*F(hv(8M=G#S75HVflIjn)r68`VDB}@cfG=
zz8k9k1DZH2p9=gzb^m^-dIL0ZSa}tICVm*Iz5q@9I8=NBn)o@W_y#obt5ER^XyUN)
z@B^AStUMI>i|YP6P;(5>#2-V&1JJ}@LB$Ku#Np*9nmD}tL=*oAHRl4F_z$S~2Q=~j
zP;r5OsP2cAw+3k9u<|wlO`HvyZVS-Fd7<JH(8NWc;v3M!Vde7$G;vt@`~h7YYL38v
zRQJn6#SPHJm7wAQXyUN^Sb!!D%a0S##9`&(1~hSa`H3bDD<?moiNnfC0S3tY1*{zc
zD<=)m#9`%R0Gc?goGd^Shn15P(8OWo<OVcxSUGtCO&nHEen1n4m6HODsP0#ThO+^h
zIIKMrfF=%W&lI4E!`d?w(8OWwnGI;-uzL0anmDYU{eUJ8t7iq6P~8u!XARKAVfAbP
znz#nkzXfRG@b&|mIK2IUCaw=P=K`8ItRDY>CJw8|1(;FYZw58T08QKqDjt9)?g$kx
zKoj?Xicdfj_lJsaKobvxieEqzkA;eVKod`diVLuyx<3OdZh$794;2qU6EA~`7odsP
zLd7SbiMK$-H=v1kK*cYhiT6XrKcI<EgNh5VqPl-BRNMefd<j%M08M-~RJ;I9d_7cr
z0-E?XsQ3mn@x4&-3uxj;pyD6U#7{%T1=vvCe-SEffF^zuDjt9){tzl&fF}MDDn0>C
z{3BF+1Dg1EsQ3jm@&8cq4`|}-(0;K1JF5Hnq2dN;;^I*805ow~sCWUIxGGe90-Crk
zRD1)PxG7Zp0-CrjRQv;)xHD8-fCJV2-cWG^H1S}lcmSGsG*r9*O*|PYJ^@WU6Dqy|
zO}r2)egRFq5-R=yO}r5*F2ITE{!Xa40h)L}R6GDpd^%LT08M;8RD1%O_;RTD1~l>Y
zQ1J_B;#;BOAJD}2Ld6BRP~CqNDsF%#eikYofF^zwDqeslej6%20ZsfdRD1)P_-m;6
z1vK%`Q1K6F;;`~ufE(5QuyWM^O&nIf1)zz;%9#Q*aacJp0Zkm1PdA{6!}8GuG;vru
z|9~bAONRnHsP2cQ69Y7HSUd)xiNnIV08JcLuT4M`ht)3|(8OWo`~@^|Sb6&aO&nGp
z3h<)3A68x&pozoElK?bvSbi@+6Nlx;325T5{IUT}9G0Fhpoy0zLi(E@(8M#K<DUY2
zsP0d!gs3+_6JJ~b5f4BU-`ENfFTf!_0Zlv+s(u5S_+!vQd<F)F3uxk8F!!U0*Y-f{
z6@ae)fwiAu>J8Au|3m%jfhPVNn!h5@#Q#FYFF?ofK=XCT>ke-qiOWKq0wy0IiEDvH
zAjAtKaU+NjnEZewZUz>C5U_PkpuIwU5Fs!r@d47`0Zs3L_NRaa85kH8ki<drhcIys
zByq@mDMZEqNgTAF1tQA8V1XnKvKuDufFuqI3z)bEk~qjsF!2B+aai1d<RXy7IY9zY
zoPZ?G1r-BP8A#%wHRB*L5H3Ix=K%>oaRrh%bn6dTrU6MDd4o*{k~lwDC4`uOBo3P!
z1<A}n5*GvsK=A@3abc(!h+2Up4%#yW5(D84NaCU(0Vv*qBrXOO15pQ%#Kl1ZP<#SO
zTmmWvqAnnbOM(QT_y&?VXl)}@nBf7ExHL?Vfq~%#k~nNH8%X*ClDHg50E&MgiOWO9
zz|==Xx`nX7q6{2J;*gREA})X=j=b()0!dsMq7+OjAc=$4W`YG77#K8=#8qK}pm`i5
zaWy1y3nX!MByk5MaSbGK4<vC-B=G<wanPO*m{bIkxDHH^fq@|bNgTSB4=kI3B(4V*
zfe-~q;`$IFFj;{lZU7d65DiG;h7chz*?}Z(3>JY96OhC~YiuE+3=A`n#7$v>3=9kl
zki?OeZZNDs61PB7zX3@cv<4g|wF61q3MR<Fz;FOb+!{&z1d_N7lK2HAaa$zu8%W}I
zNa7EW#O;y9Um%IY_J)F_KOl)CFCG1XB<=)K2*aNssUB2DI>W>m7#KK^#9@0WLDB+9
z;;tY8D3(AHcY}(7C<P>OcaQ)SYaoexK*d0m0g|{UNC1j0ki<cI$e_Xu4oKqOFhS5d
z4J2_NB=G<wabG0y2qbYoB=H0!aepN73?%UYB=G_y@jxW;3M6sRT5p(C1Cls&=?Pe>
z14$gZR0S+P0ZAOP0~9RGFat>(+N1zWEI<+u2a7<66-eR{5Fs$R0ZBX(ECL~RAc=$a
zz(GVA7!DwbgZ2W##7`iJ$G`+Z?I<MiSS0ZqNaArw;t!C-p;Ovm*%wIS&?XvK`~#9W
zw21~5|A8c)1Qvl3pAqRl87c&#IFQ6sKmt%KfFzy@6$4QcNaATA0Vq~L5(n-1g9<Zf
zAc<$d1VQCLl6WSPxCN4U7LvFFl6W?fxCfGW4w85Pk~nnAA1oVzBo5lk1r`LA|48D{
zB?w@t3?%Uaun2@GKoT#62!Y88B=I7!2!v=r5(n)if`~FObRdbBzyv|-E|A1ak;G>p
ziI*XXFF+D6M-pFwBo6IDfMquzi9@>_VDTMD;-EceU_ns%k0f3V6J%guIDsTygCu?d
zNxT+G{05SE9g_G1B=LGA@fS$q4M^f2ki<cITVYZ^ki?r{f*=|??++^fn?Zai=0FmM
zE@1)72q1|=yG&ql2_*40un2@uKoW0<2!TlrB=HWg2!t>|67Pfvfk_J_@h-3kgz#v7
z!{O1*8oN$`!K3v+3Df@z9?eHM4m12WZCa<m@L#oModN^DyaU63RS+MX(_TLK|NsAg
z)v9$03>l!V%F7F2ei4Wd>Y}_n0On_b_@J)I%MD<D5{M7#lDu31=0}0}psvWv31EH@
zh!5(5ylepTy+C|Wu)Zt+^PNC^P?zIn0+??F;)A*xF9X1QBM=|d#dzre=4*lYpsvMB
z12A6+#0PaLUMhh3QXoF4EAdhQ%ohUjL0yQK3}8MNh!5&Iy!`MF<X<KbAJk=d`2fuS
zwN`;41JqS`c>&D-1mc6bk}nT{`L95HP?zE51~C5-h!5&2yj%e0-vaSLU4)kt!2C-f
zKB#N(vH{FL1>%Fc1TPD~{6io<s4MU?0nFb8;)A*XF9X2*O&~s~>HpFJ%wGlKgPQy=
z4Z!?GAU>$6|55?Wp9SKBy0|X|!2C%dKB&q6k^#)`0`Wmj{g)s9g8bhE;)4qNmk+@F
zDi9ykw10U4%r64*K~4IX2f+L+5FgZ(f4Kq7PXh5lP574!!2Bo>AJlYzIRVTM0`Wmj
z_LmJ{z88oOYO2310P~$dd{7hpWdfLQ1>%F6<}U-ld?OGa)HQ$U0Oo6f_@E~GO9L=p
z3B(6A&0i{j`BET0s7d}(0L&Kx@j*@TmkeM&7l;pPg1`Lm2jqVy5Fga^e)#~*|FuSe
zAp_Lpet7}R{{-TLh5%k30P|mg_@Jiu%MD=uBM=|d<bJsT%)bTVgPPheCxH2vKzz_p
z!OI3P{}hN1YI46U0P_!l_@Jit%LFig7l;pPV!sRk^EZL`pr-Xp2QYsXh!1K~zcc{z
z7lHVoru0h%Fn<<^4{Acc6ae!lf%u@N^GgOWzYD|%HJM+2_zm)Z6NnFLD!+UH=2wCE
zpeFLm3t)Z`h!1KSzdQiuXMy;jCh^M+V15#a4{8d(Tma@rf%u>%@XHBceh`QcYWlux
z0Q0>-d{C43WdWG)1mc65x-S#Jd@B$i)Wm%m0OlKk_@JikO9wDt3&aOCX<r(E`AQ%@
zs44qW0nC>I@j*@4mjYnE5Qq<Iy1rxp^SMBLP?PoLhhHH7GlBS^rs~TFVE(Vw3Je*b
zChE%zVE!i%AJjB`c>v6R1>%F6q%Svs`Hw(+P*e2f0x<s;h!1LlzMKH&Ujp$#P0yDN
zVE!o(AJpW0SpeoA0`Wmj&6f#a{w@$7)Wm!l0OoH3@j*??mkwb5Di9ykq<m=r<}U*A
zK~2e*3Sj;$5FgZpd?^6tPXh5lO~;oEV15^f4{9>L{O}Xx|0WP0)Kq-=0L-rf@j*?*
zmlweNA`l<cG<<mg%+CVxK~2J!8^HV|5FgYOe7OM3j{@;QO~98E!2BQ(AJp`F*#PEy
zf%u>%-^&6p-wDJARX{Hjz<etZAJoKq835)Rf%u@N-Ae~BUkk(sHR)a&fcZ)wKBy`8
zQUT1D0`WmjxR(N8z7U8HYP!8-0Q0#(d{C3^<%b_2|1*L3pr+c(2VnlMRSFClpeEYO
z3t;{y5FgYudwBrNe+A-$nq)6GfccL=d{9&D<pMDO7KjgOg1wvo=3fHwK~1lh4PgE$
z5Fga!dRYMG9|G|~O|6#+VE!%;AJoKp835*Q0`WmjtCtR7{wfe3)TDZ80Ol_O@j*?g
zmkMD1ED#^mgnB6e=1&6gK~1NZ3}Aj2h!1Kqz5MVU<o_lRAJkNO`2ftX0`Wmjq?Z@K
z{2~w^)HHf|0L;$<@j*?Zmm9$RBoH6e6neP;%;#FBz>o$yE(hEYaSU|~@#)olTg|`_
z8tl`X#?hPq-=p!(2~bz`IIG+{P{qT*aGX^J%1ZI*W>E#z1|FR)Dmxe$7z_`1bh90I
zQQ-k)(c>;E0-&n$IIGAz1@Imak4{#@{|XGA-7G2|tq1s9l$jV98Z31ATcwy77`g%&
zTQ2dp@PovD>6QvMR4_4=a(gx(;rM^{<xfTi29N&-d^#U{cCx5|tg&wXz}O|;a*2QH
z!Il&JEoT`S7<?=r^S2&hWMF8171HoanZJECBLf5fwo9JLE>jtN7+?H<aGX_i6~q%S
zK}(|>>KPeIMLoK!IXqhb^S9J6GBEr<>(P9e<2AF#|KlE=w$9HK7+!iZGBC8h<?q`A
zmiFmQ=6IRK$iRT6*&Zy5tohqh1%{VAm?}llRQ8Hqc%#7J(d(na<J0S+BH+<m^yfw3
zzyJR`S$DrtV0d|w0Tkv7-Y9_gk{BL%d6NOdcF;sFs?$MhnqPtjx6#}=odMmGc25-;
zUZ;bV2|~l7qy*J4VUQ9RR3(9^N?trsV0f*FszeV}$=fFi3_C!L)z?xU-KOe)L7ui<
zUkFMzFJ^EtFuZW!2E{V-OF2;6=PWp+LCu=hw{^}Q&9<$e)#N^%s@t9@Fq9g3G~2d-
z1WGkLyKPinJpB3pzeno<k6zoT90msdmbsub+j;!O&hP*KdvvmTJpox}s#(UsVEF$9
z%b)-MJ$h}W%NQ75c>MnVzq>?5p!HiR>pqa<x<gcWS}&Ed?gDW<dTp=2RA4YXuoKj1
z`@FjIy2lRifoP!g*vb0(r2@kXQyEbF@VtV=&x-(Q28I_w-~RtM{NL%KBJyJTH;BtR
zS$SV6FqHCm^xEDlU|@K$jFW-Eqx1L+_8<TMdvx1=c&Wh9d90Il$14Sf7senxovbDx
z_VeHW|ARfYr+|T><b+4J?cB$pe!~A!c8^}$nadRz_`?r)blS#0R$zE>nVW&3+qC4B
z0s}}L$aNhc<2zYrg4h8L3=G}8TrU+Ex<wgYDlqV`=Pi5%qD0ePDKK=K`n*zLaQJpi
zpp)0{l>$SjD2QL8=aI~+3^CB>r2>P;!3XRf%<V527#O-8Bs5QS^YXn?VCZ$>_}9tG
z0@B~`OaZLtJxFmkuLOt!>uH4Ok<q-+Eqd=INRPn3PSz_R`EFLhUtlMndZfT`oHgMk
zBrH9Sv(~;;VBlS#%;3?<Y6eo-$!ZUxTK{`=vmSk+01_{IslZSw-fdb3lIXTw{z8G_
z1=Ckhv>$#gXn4u++lwQh;A}nM(RsM!Mz?7gL|r{dcem~Zkn&_u>gnY@^Fo2arJFbO
zC5U460*8|UM0FrYb?3dnZeHb=3Je)i8Vn4fS&RW$3@_ZjfD%)PN`^-#tMv;7hMk}S
z#_)hg^AQ7&&U+r6*FUfJ=(ZIE>%X`Qw5bf@o=#R-ke`!TkAbARZQnmvVCd$(`2rL<
z=fOgzZ=R!sw@bH!#fuD(Q@ceU{s4uS>8+n2%62nIVJGX6=L!rjo`3oOzngU;$b{xM
z94_6wO(15s=z6eH(*@5J7+gUGsBPVI1qQ>D0WXe$JkZTs4l<)#^Z=MLtproHQ6LjV
z!B*P(fz^Wo)T5JiB1pmql(|6R%3AbXfg#>8qBP#4*VZ79f#JnRkW{y=6kN{>d5{QL
zvFmdMhEh|HURwc>%HtsMZrcyfK&}Cq{^Bbvx>%(_uIROWn+wX)r~dr^@6*kC{TbNH
z3}7i<o;(JIEC!EWQ;=Ccy}TcCLB+`~4i*Lm$AA~7Kfv<dO^~i$+poC{43TmCEp?z0
zpxd_knF7PU8K9z~H%CR{#T$_FZqrhb+HTu85Y>6eqx0~K!yp%Rn}&cyx@}!SRIljm
zTu=sn`6BHbD1(;rA9qm!cWTp)yQrxA|L@bAqN3r^Z7L5^-EAuXqIyNw<uWk%bUu7x
zh|mP;&M<&9nJ|EI?enJ!AQc{+uRJ>Mz3}`5E*&mC1(#nHAm3ejkpgy(?OuprHdxT3
zllAOV1%?+M5V?gAxdfQpPLP}qSk81RNUqzq4n*~e&VQ=FuoGO?b+XO|sZ#q4wlW?p
zZK@46;l;<V|Nmz(dUV@@_T0D{p7iK8^?Rzo;J5>n+INCR3_N;6RAf9lSwZ@OJUS1(
z&;#3Md;XpRLqwEEE2O--kjcRC;t{Cm>o(;D+0bqK?TG@z3&+p@|G$Xm0*AoUCkhOP
z-(L8E(q*ry`h5k4{UG<fc>5ld(@fRi0(U?H-L_jHg?n!f1B2nE<E)GBf!qWtlNZ2Q
ztL`a)2NXPxvu=h8dK_on0A;=q{`&v_E>JfcRE6-n9P;R71?hdE7r?-frpGT2YB4b|
zOfY=w*?BR}qw|qR^OFw&AwIpVyHXe!JbHPZ!IbTuZ~y=Q7o9gpf#D0kybDOiR&tL5
zL#RhDtKc351`o?09-U81Bt5!Wo92Lu@B<~hvHu?+EQmb}8s$OoJ$h|#?gmHvrQIN7
zH2-;YKJ_^GkJ+R1gU7)a_8yGKJTCq#k?`ndwS*eT12PciV07~uY$xtkU|=ZK_h`1|
zpQFIQ5DIb+k4Lv{)B**D7jM7*|Np|{|NsBTSTlDkFff9&gW8%5pAV;j{R2`S`!el6
zC>liTix?QX*)3T%l}mW^iUt-jFj%u}D(BH<xWT|+`=6bGp`7hF```Zz4Bg`3O27G6
zeVJ6_FObX*&<Ir-Z{sgeY3Lz&z@zy9%i+!+Gr!wDdaS_EdZ2=@TQud70)yqDdbVDt
z|A!3^Kx9Gt4k5BmsIng2qM$vn-K=_#6c{{`|9f=v{PIY?;L&-_<KQ!vZ!U&k8B4`l
zFLhq16Y%(d3M$-eW2o@@#o^Zf75v?-A0H|(SpKMI@2&X%n#u5g>o<_#9gyIMdiLG|
zkl;6uZq`Q+!RA~3tKm7$0``{2|KqPe9PVb_@KAxl@IOf9x@OaN4;2_dBYKNL%DY9E
zfT&K^xnN4P@1X+2>vLVa`yMJVd^^Zg!q+Xj{h<OwH|tiA1Xnj}D#)ly|4%eO{MY)w
zgLm3P1%?X#Zr&h}Ykt<V_f~>j^WXAQr)}{=1%`Td%MYEO`28+)ie@}iU^v{(S_rbI
zSM=Xa1qPp9R{Mtv3<qB@H$Px({qHfORMaE;fXq(Nke*NHF%QNI9-YTOFFlMTcpNNv
z?DNv@0+H?tftSJm|Nl2U@Qs!4p#lR_30pTS*Fyyc#$zw7|NsBr`oF@mn|130aM&^T
zRzSmT2}l4DZkGRQ**br8e(yZiX?ym80z;?i=?4l7he4rSdCBnG>z9qDyB>h@tN_E|
z=Kl=ctaBcKD#4@&pn~3X{{sbvIz7unWl{gnH~;@%65Q*-=+Sw?r<bMA@TBFT5`K^W
z2OXPhI{q+}-ui#w_1n%1uP=FYn|3@<U?@><Jy4?j|9JC%#uAxckN+N>Cp>z2`dSZ^
z@Od=9WNEHsVJN-(|HSKe|4&&S;&;E$DXIi=Sc7WPLj{I^hnr2U9w;y{9`<N_bAy3_
zq2+)_XNii2M`wtNfk&s0iiJ<7i;9C!r;mz9i8;Tfi%I~$rjJSjzh;O^0l(%P6;RgU
z*Ic3k>R$0{u2EUQz`($-xkY6InBJoT+9ZI~gK|-kFg)PV+oJLSR3CNz0~Isfwl}wf
z+BhyM93H(cDhkJ0R6v8T$6ZudK(&TPr;Ccfi?BEU|3eB$nb-gSL&lO#PkscI8@750
zpz6@0^V19S|DY;~mGhPYL+3xk0}dU(b}j)O&D-#Au21Lj&#Ozc%S9X-{!J)VZR9n$
zufPCu{icA|;tmb}=9O?eH2j;tA)epm!fUooaj%&+#de79zp22`%*%0Kfq~^P$kG>m
zpxU$b0Jw#FHGzTQ#gTvi|3^XO9=!rr#9+CdAh{J_Ima-^P>;?}jv=9*o!^2zI)6KY
zI#~=J&2JRCP1oHA#lP+Kdmx|qsBoZ%)r;IWU_<#^KwVFdZrimWm7T{tI*-0c0@Vzl
z#>O#^PG^ZyUXRZAFYdkg|NkZEXgHr<)kU)v7(AQL{x^K<(DA~j^ChU`#pBcY+^6%=
zr*$6Pwn-qPzF+iVeEH(}yZ`@vI=_1ycLpU<h8OBDLDgfhgh!{dhEL~nSHmaWOx<2A
z-9bEQ$DIWj7&@If7*BM1^Q3hK3w1L4biQ=xcwu<y(>f3S{VpmZ9$-T~dR-X*dwl=c
z>CEEMU7{k9;$dt8?nt|IJ}6;*vE(f%9*-zQ$2!J1#yZ9wb_@yi==>WD3K#THXt3A)
z#4pIAQpyc(J8{1I|Nk}Xi%T&7A1)R2=(P=v2Q^jR86J268ixJEFCe0l#;+%OCx?Nd
z%*CVE)E6v&{Kf1SprYN>8O*)^qUXi`|DX5;SX4ZEO|_t6GazCzDxdfTWglNtV0Z}{
zUH~<A1U!08S>i!;ut(={P#b6N3vk0o;1j=qi;BP}enHmF*Ay6DyLt4QK8ypY^XYu(
z(Ru$xDMTHoM>lIw4g<q$xljB8tN}To`qOlC9LVMOUnqiH*3D`K676KozNWwcQj`p)
z1zCfyfzpUA&pS|Nx%Xn}Uy#N8txW&_|K|@snZ~cjYk5t9q0HB#o0S2irq>75%{C1K
zyW$hSppOcNM|Xw9i`UP=9#&EL#4q5Z!U1u38o%B{kmJ8yRbZ&%D&+vNA6->o_{^`x
zI`1urj%2-*&A{;D?wkMrKlAGx07*2y1@+5LcCrfG1*rfDMjrgkAIZ8Vn}MN|_1hf<
zh8Jt0>OFc*uf>AB*~$78Bq8z~91RC!85lqf3<gjjIe^kcuWjdBh!+q2fp}5=A6V%e
zi2fJ1o`Jc&Af4c0o6h?$*dRLVp*lODI-mXpD~*BbTmaGO8w-jUkcH<#xvSUq1!!!d
z^WKX<sJ3+=ZJqaDOn3^)1}@;V3mF6|VSVu$l+BwV3HNaDPS8XXq#ND*#=)aEMn%G-
zvj!B@woJD{5mutY;n{fuB}H2p9(b`89M`7rZb9-ti0Zuc!XGTk`vb)7HoXX<I&XP&
z+it(5!0=)bSh7Y%;)Mm&T^1=G#&CB9L)_&MeHfI70#I!90Ck2~4X=P3WS~AZ>(l9=
zFlJHl=w@|75<UkK?yUhea$Qt7c7kTL3=epKM!7(()8j5G5+M5X>KCrB|Nrmi6$W{+
z^RUNp1`kFChHlZ{w?K9LPf+>mt<w$h$8l%SSUy9u?a^BbpprwRGgzS0TcbqS<2Z8#
zBLhQcutI0BM5nV#r?X7A=-OKf4Brkhm)Lc)&bp<*(EP~2qmi4DiGiW{mq4d8M>lH+
z$Z%(#9iR!n64B;g3Ohjcd<l2+FGk4&%@2MwAK>hC_5c;u9^Iz>H^ISM0it?cR5)A>
zPr4c&Fg$5^DF9s81O&g30i}uNBMPA8@Zd2dzCDn`^*1Qkn~wxU9}W%f{0lYM3}j-r
zt^7>|h8JDW|Nn1&3+i}tdNgu?2C!bUdo(Ki2c_C>+dnrzPB3K!Y3RK5g7@|R{}CRY
z_oHK97J+SJZ3fA7n?3=l>*du2@j4HAG@o$rXnwRGGzMV16C}m&a%dL=2Pg-z2HsR)
zc=_ek|No959=*0bQ49>BKE0}&uPQJE8y+xx`$F^a|NoY{i?1s%)FnFdZ<En^u^gOW
z7&>o#a|vK{DB<k9|KiKz|NmdxHvi`G=(Y8WVqhrYY5vVyD&Wy;>ly{BPhUKK^#A{B
zndaZp9=*2aAO){IdTouP7#KS586J3X^wIzS9{-QNo(?L%_k(9c7d`&}A5_12G`~sk
z=nnTlNr4fd6zHzu(OmDq07_2aj!0*SN`ObFi;96qx4Qv|Vd2s3ZUJIAl(Kkqx;uDu
z+wQpz%0;FJBf)w0xQhyCW`^N~D=1dFgDpHP50x5wbhBQ)2nyz42XMEoSi_^cS_0Z{
z17%Q<ksMi!pg0!@csUW&_^=dRbWwq!gv+D(mpp$fXb{n(+twdqSq#{+7Y{*2RClm}
zPd95C$oS@8j3vq*mWO=0S>r%@#XY)hW!Hn9X9Ci3;KlwI|Np-(^=&;+;^5PH95g_3
z@;|7q4R-M8F4h3Kt@8xPX&&9)79QU(c>F&R;27Yz1JvGm@fd8IvjfPj5fM=!4IrhU
zT3f*IB)Euq;r|R&B9;n!bek>#O{DkQK8Rpoc(LONB;7_Jr(0)8!cK@j?9<KK2C6)|
zMb}>d4UC-h=(bJ02JI1p#{*w}dkCtHK{NEW-XNvDrV$aK0Dp1!8F)a#4J6ok(4$*4
z=K`qUIOfr9t8@))Sj5Yn51|p?T`u9#ZOe5{f#Jo~2OuX^YrOD*Fcdsm|Cg{uzw~|b
z|9>>Nz0_?RdI8)A-t`dVsS@5Ok6v4|2nL3ik<b7Ck2u`T+Iv-j!Ljp`N3ZGiYYGgi
zpw?RR4@SuYn!j8$FS3G$C>=X5bpG<_wtapTJcz{N*m=@}@t8~J#g|_n{r?{t?9po~
zGg*Pbqxmdoj9)?klzqN?biPDNnk_0E0-*H%X`M%}?dfokiW8uyVSM3X`=6hIp*+{8
zH%5iSqw}ES4h8`R22afcKHZ{X=RpIeKArbJFY)aB`C8VqH<Hou7^8wm=S7e2mpq#f
zad>pz_hh^PmiBGERHEnEZRFAVtwhbE^QA}U_fP9QzF+j{4gBv3YO-5iEZ*nQYnu@c
za>$FqFaQ5L9%E$i>Ae49-2-sgfCf~v!WkG|*nuLo8{%f<$PNRgfW{*rA4bO>b_{n6
z^Xau!JgdL}o$k2yRDmHh*zm1K^P376{`IU;(7OHDQw0X3z;IE?Fg(!B>HrGP&Kebq
z&JYzBQ0Whvjbi}y3<N;qKA?FN{`Dt5^J{(h?8vY6;<$?nXu6xB`NaRv{8|q`^9z=!
zD17FRIQp4iFh|AUGrwSp3eRVLK^GN`?hq9h%McYE{$4d^&^Snpia>WXOIqV^29~tW
z7!@}Dmj6r)3~81(_*<rcW&oZuedgEV-Ealez7SxINoHUu;rPri!0MOGz>wDMqQdr>
zKk~$0P+j2DtK0ZgfuZ>UYg+RU*3Y2!jzWp4XY*TwZ!RiqEPFxqR;emjk8iK<h2{s0
zoktHol|T4bzWFIrTI&JNUe^Vl{H_N*JCA}q<;wAyKf(p%cr9L2u=NoKAztw4c2N=V
z>@JmXHT>q$Z7Xvb)B{!BdRl>@o1ybir;7^5iy05VjieBeuXTJ>G(3`HR8;=EsHk*?
zsF-y6s5p2We9Yp(9HU~<dY~lyGrvHH3Xf-ZsKjUfh!7P8P&MbGV&c&$oYv{g)9s?-
z@R?sQM1?1<)0yw(ZBRWMqQc?XZKC4QZ9DIh0>cYUNFtGRw9HZAC{c0zf6TM_h=7Zw
zsl;gohWd-Ig}@S}&$~-hI2<iYRCr$Ba<Mf1eM*6WzdwSJfx)x6R)L{Z+OxY<1610?
zKua6L|1azx{{QdU>8jw_U8~{Q?WzDOn-X4d-UW#sdEs~uJgvat(RmysA@L&M4k*)y
zs7QG9nw|>*4FW!Y5d%t@y{5-Q7#P51m`~^P7akA)|2Mqk)A`Ks|BE}1KwXdLFH}Ia
zVQ+~_0>labeL5e4)xTK%@c;j2TOW{X%d9=RO|4IZN_yKRpc1*$MaAPdt1d_mwA4HS
zWPh@#;wg{{7ZneWgO6AokGqJ27UMAZB%5-8C2TXnT93U@eDwdn=fP(z-8Cv4-kmJw
z9?7iFPAV{T{_;5ZfW?RLhex+TX9Z~F$l{^`LuUrZiv#!m|99y&J$Mo{difj_)sDSk
zjGdwzPAV|GNWKm7Jg9lb`SAb$ZWk3$LXA=3@lE~)vg9*=M2w1pcejW+*7%Kq#4k8~
z{&!K)@o08Y5fFHJ20Vrvqmq&0VJrjgJ$1XNsFbk2NCg$E%||Lg)i0>~<QRY0@IbR|
z?<oZa#*+AE+m2HT3{2gkeWw%{O64uD)%aMOcAZjSsCTipEjy*aP-6q3`R5&Yt!H?^
z@>-2{H*e-C1qREHHHwzkN;xcT{Xxn_EkEu6=NukOTQ^WJ&pp7u?ZDw?TZdB$4F5}1
zyG>0_DKK=~s+|JOY4Dr^cOMy!v&w;_|NsC0vgz&r|A#HFJBB-U{&Wm;?EK&u>ezYN
zF~qU+RA_J=n`7ri$IjobmKW+cT{;iAc3yDoJmlJXvO=(%)&0BzgNx;fdQO*KkN>Zk
zK~1;T+aL)&u*40JL<CskwrlGFkc1#u;s8j(0W5LAwe=E6;>S6VQ5QfG0bq$sp2;_S
zlV5rqe9Yu|@F|O{<%RlEk8ai%=RkScM%uUYolEE0<1FCDu8ZZ}dVh~@*4-dOI*)a}
z_v==%c+vmw|9@Y`FRcekSYN#R2bzsId`^Mk|54B8V*-w#l+n$)?VJKbnj>f&gMq>E
zIExA>Y(P>xuh%&KKj6`PnB{dFQuKNBidLKh)hghDtI%MN&g&k{uQWcd_DJTnJ_kzC
zwlhG~4n|OfK<4KB!5Ta|FMAw($n<#?xFO-u&0BCzfx(iM?VJKb8DHnI<^vqZSvG<+
zy?)irbevV|9LOaM40}N%l*d_>&w(bQK+&goPJw}$nVI=Gt29)}{}Y|8%pg0y8UBBv
z_XafI_oCs=|Nq_0hTjbT_j>&AW?gVrfuT3x{|kwK|Np;u_WJ+-|7T0s!KLl%lhLt<
zTmN_d>ik%z)B3GW15_=6>LXXfx1qtEUps$$G{5oaW{o=wnu<~lKC8e03b@yz9^JOb
zmV%pAvjRXh;>(Qtpa9N0tH9ve`A+kNi{*<NRgZ2~&9e#&Ufnh?UR2xyWj$6<eFx%u
z{y+L6_16FYuTT3VzjbZ>=GSWjzPzZ;+@ss}%NYd*&*XDHpj`ft88pTv;L&Ts|KbTa
z``X?;0}5#$6#<X}kocL~|NlGovgr9FfABo`jM<~tbk!LJ21~X&1CMUe<!8Wd7Vzq}
zF?#XoCdd_{v(JECW#rj>jN`?<o8Y2A;QxWwM?I1+J6gW+=(g<yIid5K3%~zU&_J62
zsCe+{{PtoNs1w_58*~O#y!`X%WKB4u!0@64BI*JcH97-ocm02n4UsSg+1G0VK2FV}
zlT`+!CjcxJq9WkY$tn!?k!=i!>SdV<s=Pfw14y7@H4TuuPF4qyiI#ur+&sEPubft3
z@axt23sUFP`OWkHaUaH49^F<TmrA_&{^tLGA7<U{;4(NwMZ%}^n@1;;XLl{bi#u;X
zwSp_d>#eS>Pj-Q{JMw#8@kxH=dGIN-<*QmNpKjao(;%;X?+j6qcyR(`ROfeJ#`m6`
z>^|ML$)^<<UTg*>t`HRokZAK!4$n^Z|A$^5>Snb%t-xS;qo&X@Muo$rJ4c1XrMLEf
zr>yd61%^&t$<qo9j{88V*`@QJ3%~zs!~ZYbUj6?MsVll|4M8RsfQGbsSw%rE@2yc$
z0OvAjKtKi_KQ9H<Vgio6E-Ii|ZHbqlt7|;EMU_BWl23T_igb0})I4Z-z$5u2D070d
zoJTh+6G*<->yL-!iDK^Nsy_^+tR9`GUcd2R1}$`GJ|yE|d5FK+>Hq)#$C*I6(4+Z~
z!t2+rtxxI%yM0t7dV~KPesk%3|Ki%O|NmVqpVkTV2LE^I{OJO&9uNNd|Nlk*3)tu<
z^UMGL9si#z;dKPJ+g&VQ*Kd1$$^%q`fd<(Gz`pvt)T8-`2U5`z3K|jM05!lnZ6i)A
zFtmOvVe2#v0ySA!Jx(hy%=~Wa3ku1j-K@4C`u)uBwiY19vChLUtp0#9pYCY|Nd4{6
zZR!ZAMwLMI!TO`E2l)LCb+Y~d)dS$L;9q|jD)!=(0>cY!P{vATJp$46_9SQq_&P|j
z=vlCk>8q3A#yf1r9Xtb^2GZ1R%MVfkO02ABK~?MpP;TO#1=c*_6sYqM5glvz|K-Kc
z|Nl4FYcO@O_MK8-C}C|r!T6fF`N6*q*1A&)pz-$q;7Y87xAEEg`=F72%YXb+4jlIA
zW~~F+ZRxI2s?%I=pirvj(e3Ww(fos@l&^so<V_~S|1ViVW4_HlSW68WR6$LRzaWji
z5RDe4(x4H6Zrj$w3Jl;VdGY!hxR@-t^8f!~P-zDVe3x$BU#$uZj?I7nmlSw({`Ktq
z;?eopqxE)4tVic94^V~k{>1`NIo5ih(&@#u>;M0ETfEqR4P2yj90C<ewi_3K3&rK$
zpias`!vik@ZvFq?ZM&#df#F5#<^TVWvrcY>OaZ>;_0T-*!FcrbJm1zQ6&oWUX#v#j
zlIXU*cSwO@pGXJ;YQvuc)bKxl9Mrjcl-9|j(#?A8xB^33r;7?xH>>nX2$Q9oRRqdp
zGd%D@;WDUqQmOJn9pYR8uybuWA?_3hyYrCYffp;lC8G;ycpEWZwfH)y%XviNaJRdK
zHS56>3Jl%lHl-Yvrn^okFq8;_g0=Jb3&+3z|3|!Z{{R0!)b%olU<t9eM1=*V@4{ht
z;Dzlqu#=QuOt}UQ!P={!a^U$vP{`RX_5y_*$VI%*|NpmSy>L*0p;W!QM1{rS+p+pm
zj_=19{xdL?@Okvw&hP@&JTIO;14riaOQ3i_^S~pJZ<~)ufV*3uMop+=h->HB&|t^T
zZ=I(-8sC7H%e!=|emaiU$Eq+q(D|Wz4R~?{G*~E+rpmzN0$NDp(&?kZk_PVNHXmSe
z<X?Zlm4E#k{`I=6j)N;24j2CQ4>~_IKj3Km1!@L>qDQDy!{OU8mQopzIJomuBAC`(
zqawrr9vO4tcfIkN&2cwqD9@39*JFv|7?;i)KD{+65gy&5X~#elXB-~grfZIY)0pou
z1qOoypoLlrzMVfn<}0{#-f-!RQQ<K-0Ghy8`~M##s^rpn<KP1h5L4wv#5GX6I7Wr%
zwUBG)EstJS_2UW*o(CVX`1aZ`f$a?Myy4L;`r|0b4pT>n9o@DMK>S`G6%CLvTAeoz
zKIQ=R0(C&cs2K-ea2Ol_TMV*R4^+9_0IAb>@$xFnIzEqH*4-e7gZfj9hh0EHzzkBv
zllK2asib4`Z}xIw*WO?bk6zZv#}ID%#%gd>fuVuF<qT*jsF$_<ngWBT<?)hG$8L8H
zk8V+asKXRIx=km8*xj}!M->>pUjUh{kmlI!&IMsBId;4AK$t2ZVLnj6T0lci?S=i-
z|NmdJ`}Eq1fyPgIS@}Vf<>8XRZfB4+FOGncC8&egZK?yY=IjxeH5zH%&QM#lx}Bkx
z=%jT!^MQiL!?P0{8hS5oUjf<S(JOlhG+grSm_jM1N9PTn&flJ$$3f|UhpE&PVqGQF
zI*_mSg4o@*aYqyw(k{M$c&po)3(8jNcIE-uVga%RBCYbG=*s{9j^B<6lyHAz{d8D?
z!NHT?^}ge`V_>?uMuml;)TW!4;V5Vbxb3h4gW)B{m;X;#wt&-l4O_S9!y^g|j2D|B
zvw{rZb3plBzZzaL{QrXg9k`vu!R(^KV$JGvSb?F&zMIwIFsQOvbwq&yZcZ&nH}71K
zIWJ-6bc?ngQGl4{+*_l{!0-C?#eui~|HI@<1)Y0CR2d9ULTcHiZ$Z`BvqMN`mP&V<
zdL98;Wq(A00j%1k^F8Cc7nN^835{155>`!zLG8~6oiANFU-@+Ydok$($Rq)XWa?o^
zR2n#ftD4SNE}id=yQqL>Fd5QZI#X0kKw)h5qW04N|J^<+A|BnKZgS^6k8WG7!wL*9
zo}T~z9~4_c3?<s#yoW)ib=wLYR$y=huUm2LeBc6JEW`McnOE?N0>l4<FN7}q|L@rF
ztf9oDoAuvi1%`c~VGw5Bc8K09hmiC#9+>(4AH;xO9*q|_&V!0G+l_}nRp^UV7ePE1
zl?vnmC00<0*LVa}gh46~$2iCM!=SS5MCaMgi=dV}D1m5z28AR%dP`IUKqZ+#XNU^V
zE=EwM>b#FqHiPCoQbDcF<~JOUod-NR?}xf{`>4ot`>5!2hp1?Dm#C<`*!=7Nf6&OM
ziwerjMkUCB;1&(24&d-f=J)7jJ##>T!Kd?-=l_FF-7Fo=KbT6mnt!mCRKEnx`1U%n
zSbnH2^XL^_c>okIyvx9p>EZ(l3{Kr5T~6IRoo?MMeVy!$zy5<}i20`<Yy1gf@lQYC
zz;UdU)3Nafh+764<F%X#GQ;$m3%E+Sed+)I*GUH-2{<-_W}g@jKICxWJj8kGbzrX(
zljX5`PLE#GDi;QZ*9M*J9=)s@5Sw?qFo10CfY?{2`dY}Nmz4z~w;d|y(QSKf2B-)4
zqWseT|IMfVcV37B``EMdgW<Q%8Wk3g-WnB_7s+=)HRlhOa{ulSkeJ7R!*3p~Crcz8
zI<6gj#n$}HzWH2(V}}Wc$N!TK+ZbOzc4+xl!qN#=D|)~mH0Q{>&!2&zON8nBCFKwm
z7A_G+#}0wlOoj)dAeC9DV+eG#P@>s3be96dfBqId(8!am>n;TbZCmqQ;4Vlv>!SS%
z4F8Y+Kfu5K$HC`J9?Ab-e0=c#zfZER=q^x8;;3imA>Yn7F5RrWyA&AQdrfRyEsyc{
z-)CT8aOwR1Lh~-DvhF;@-vTNOnr$!dRA6B8=w=PrufX8l>toB{(amzARKO>h_s~vI
z;r)=slkwndc~`@eE|#X7cPcQHa{DCnE<?z<S{^Iq=$4(cQ-R?%XSXTKeg%f!xc@G_
zQU4t+Z`ZN<B;S6`?3;Ys^Wb9^PsYQ(mN&~y9Gk5bO8GsTUkki`@7a7%z}ND0k-XzK
zM^={7502fIKAqP<Y5GMesE-dCrei$x`i6_OsqIb$h8h;j%QbwC-<(+)OW7TdF>!hR
zKjiuU_)FgZpaEPa29M?=5+0o|kn&IPi@E>6^Z6y39-W6hnos^W1Z9O!>pVK|dvu=i
z_<qTwx9I<iqu`aD_oH9VKMfi!e|-WpH=cYQ)QT5C$yFSnSrt~reV}Sp=faDdpjLCT
zEbl&0XQ`IiBl!k+pt1S2fCuAi56ioyI?c5VpjK|Lt)>S9w7nVuvJ5m_g~<NeFWAn3
zR#K#>uy|PBEx*uR%iz=b%%l0Jz>D0!;Nd!t&SNj+zyAOK`o2f=5dn}74+k6Gwv_GL
ztH4ml-Fg52VelfW*KeZ_zkX(Tz@zojaW>F8DgKriMg|7hKtO0P|2F=P6U`3}*ff+F
zwVbRp1#uqO94IjZF+SKlC^7Fi;cEEJaR+GsUh{(=HXlmO9e04HbT<5Wt?X)eV8eme
zGLRy7L&Iw!NARkv4G&&(ID#h#H+*p6-}b@r`!z?!bD)uSaM|q9{F9l#9kk-yar1%A
z4Gvo$IBxmixb+99o7S?Lfq}u(@&JEJKPZjzZ{uNiJot>wrQ>At!vhUJ8%k_kTTWIw
zfcXy^ejX@+Fh4Z>d{E-(+Hv0Sq~k7-QyrV1|8Q*h|Dn{{aTmz7j{MuszSeRzyyVEg
z?euF!M{pSlVv0HL0(D#+K=NFUyFf*_BmcHD-!Hl-o^<3q=i7RzRLSH2ftT^11!<k%
zT{_KtI*+|bya|eh1FzXVEf18vFgyT?0O%+nQU(SM_M;@14A2l^+cr>^bx{HBkYgy3
z>1I{i18M_;7Ef8TPTQuyz&`~v#@FehqVkQ^cCP{hBY%rED+5C}>&D#*42EwzT~u_s
zSy%1`H%MhHb5wLXb5tZex<zO0R$$=os|1Zqb+gU|ujyl1(QLuM-xABnzyP_<*`u4a
zdpBrS=Y>bN$*b-V6&cWs>|4Xz;I22QA1mO|%K{#)0f`vAFns?1zpLTNP8Sso7t0(K
z8JEr+6$Spjrwj}X)-fs?{Jo%ixjedAWkL3J*QglycE0cg4c{`eSh#j4u%tOQ{$XI@
zZ&|~@z|dTyqQX!j0$Pj$>TjQU1uA_?SR9+bC^Y|OaO`&AaP5xZsmpS){J=l;psVF?
z{;7vJE|#*Vxmc>Gl!SuXqBfl_Di)xwNw<rN0=Sd@$+7cBKsTuV>#k8zc<}+Wur&Fy
zW{ir3;cd|Pvj<~{ib7<ZOLvTlO}C4R1*q0jaP7SB*m>-=a0#1Bw~ESZZY06~htpg-
zRa89xAAQLUT77oAP6=e6ODD)8sI5r$HGBqFng5TzEc*BVzv0_v+hto682)?g0L?>#
zh8vE%s6>Fq`#_E87*O}eMJ1s`qMOxV7br3hf)~wMv(DS1z~I0?<!Co+!6fkNME-8x
zV>=ZXEKk(1_d0^s;vI15W(}C6z|hI+H%Wm3GUCcRf2RV2qveSjP8X0OW>>=lp2;UX
zl0Ud~vZ_o16-qp(K#LQ*W!LRgVEE=@$jVZ}0UA@}21zEHg34)+<inuhb`NHjPv0C^
zS@@@d5})Q_&{+IL1qRQ~gJ4<46RmIg1sGhq16WFgT{@4sbe?~~^AZ++pA`5tPPlX)
zbm=^m=E#5K6cfKDkBUdPjS6T?gyV%9X!Uh6uij43x<*!I5Y;XEW(R20kyR7K>pTv&
zgqh`(<F^A1o}DMVK_ih7C7x-`J}NN^t#6OJsHA}UTP2E}=Uz+!FXbr_<JS<42Mv3>
zs3b6hHsJ_{sCc~g<JXXlgo=WKpI<OW#pAU_>)R5I&T}s!AzEemHB>?4=8%0BAkCn}
zo&cIB^LWj}uc6Bh8d?#|QSor(-}Qi#ziBrk1H(7g4WR0gzvTibDcdgJsldR_-wwJC
zyPI`3$QQk$2SDp_lUbTP7%%*P0BV#)c=Xy<*)TAG%b*t}zyAOCNH$g50g4&X*PvB*
zh`{&g{MaqZ4wfoWN$7T90d-2#I9*g?K)EvF1>?8>|6hVGYjy1PWOV6fmD#Dl(0Pl0
zJug4l?h+Lb$DN>(%#nZng<j8pFG2TZyL9t@+yQD=ZwA@bTcYC8E&5~!Xhk(t<w^ea
zmtTU`2zIlc0V_PT17xa4Z;pzGN4Kp2NG<>RlP<ju{~_&Q{`D6;I^VqzKMHDkPX%iU
z-wrYm)aL9KZ3nyG_6Eqh&UgIlPk`nQ_}5>4@$AU||GmMC-K>dVJ<8j`J3=BL%2&co
z@PKRjf9l1iBOptDYy+ngU9iI-j_~Mw*XzN^zn)hF;=T+2K{M*f+Z7mI)PeOJ*`~nI
zDXZ2G$}KYep#IRa?FtN846cSJvlu+Oc{xsknokEjx<%h@1I2~u`)vvg0o|;7K<@6g
zJqhBy*nAjdeJ4l(Xn9Jn=q0eM>FE<7Ew)RxAy0{eXT!mXxLbtj#fig^7CmUzhy^@r
zRKohg_!y|wh%#dYs)s$2FM&p>96P^+di3g+ZB<|hcI^Du`Ps4g3!_hO&Q#DsMGjBP
zxBP9j%nS^!t>3ys8TebCgIDB8@`LxJ@%Mw4$2I?A<8NtUWMHT_YyQQ;-w#?5)clKy
zzt@JDfuZ#he+%e_&*oo@{H+U_K()#GtqKgChZ@dsG(7wM@(<WNPX3k&AOpmkf3fqo
z#DjLZ{o>$n`OU<@@G=Lif``B5EfWI+e@`qE14FOVyXGH^{B58scwhQ3F)%d#dczFb
zMX?BENKE4|&|Q>}7Dv5!^Diy_mW^OT^!Zy3FfuT_lmu&e1=bSG2-5x<#BK#GH|o6q
z0yLZ0&C0P=fkAct|DXRm4>g`*U|?Z*=?vBex;L7?r2=G=cH^&iAdM|fU_-cA7#R3l
zL5n=QSx;?&cv7L^+5MN|V2zR>=@u<eiP6&q)^LR#q@f$szGj^X*1*faz`@Y?=>Pxk
z|6e`?iHkOZ#4mPUXn0u9)6jaG-{qj?p-$H9EeZ_$EucB!7jc*V|9=76Q2Fu<BLhPh
ztIHMzhK@tcCzzTa{ROE%1e&qwVAb8C!0<xw^8f!Ymx9b?)dZP)sQCnA^P_(+%fLcn
zV4;RHObyTez64#9Z2130$Zb$!{IeM)ESMNxnlpkoo0)>8?;@m|Pbs{VhR8{R<qjgt
zIlKh*t-4v)YzBo6FKC54$g}_czx)E)a>Y6YEZ%TNpyAp3mk+_kolBttC}u&oy}NWi
zfARYwXi``oA_!^%bhE~924$-M%?~&n`KKN)k?v+?+^oO=@-=v#>c=L?JXOJC&?x)w
z64n=%7ytintYrYlN9%M@bFcIHi$xdz|9=TOx5A^>)Ww{E;dOEIFP0M1ddb#HC1uUO
zm`Y>1S-)-qIlJKuW5ct5uU(se@sy}G{}L&6>SnzSmT5jA(ERBAYwd2<(@;KB^P|77
zrMp>ogZT|-SQ?)FZoSR#dZ?3i#U=%Y*D~N3di~L(*YuYeXkCQu(JpXDFz*N`(;j7c
zS@q}tf9NnSxF-&36THZ}02&<S{svj<qHDMs)aUvQlImuaSq-Yk>lFWkcGH!E>}BNy
z$<Kh45+$q*FAVqo|Nr``N3ZP;&<KRp9ne}y+dCk(9)!(sM1kRj5`?V+VvF4YEo_Kl
z_UN{~vKq7z=gR;8pb&mB>-qoxFXq1d|Nq6c^Z)<9sQ3zY?aLzY81EYi{_vBarK}TH
zqm6`e7#>LD*E?7y=+XK76Mxi&&-{WSDlhawZC%tJ3G0iJgP@Q&A_3|UOMK>!V)y8L
zj?%d0Fg);yKZ4a{HE7vv)QQjhf;=iOo`AYr=tgP6j0z3zyzJ2{dUJyUL+4kI<~I@^
z$*d|H6&N~eRCpR{m_iszH9LPazi@2+VOuWm(JLwt11frL4uRG(@q_AD9!SM14Qljt
zv(DTAYG7RU=r+0Fk$e;!&b>Tr-IXk9-;XmemB{`-YOPziL4l!G+oRWoP2e~KxLwwm
z!1Dk1YYC7VmJ&gb%!f3P*k6deM>lKW1_g%WETEE+q1#1;hhKoze}e)8zaV2LBdCiB
zUGM|yO@c~tpI%j&JkV+%$IgE~ozKB*ek9OC3N%c~0_t|2^Z0(vqc`rqhvn-sDc@cl
z9gogiKArzOG++62zJK8a+L_gQpp@0s@a=0J7t0bAmJ(Lbyut-=%L=}v+o$tI3G0iC
z`yo+;)EfcSFd#>PCqX2-S--7RU}*lqSi;x*gNeU|7gP#2fp#?~>vvxENEY+xW(`>n
zYW4l|?EC_nnfGDVx!?$zU6cZ)iPi)B;O1eciwcWpGM{6&j!L(w{CZG-;=Ci{{R&n`
z%kMQFj=e1AGr#}qyutXwC;1nD2dL3v$@&F!zDyrzUvl$rMvrdOHz2<23r~L6^B&1>
zJq|u(@nGh8_sx-&k-z0V0|P_n(a!fTI?jL!iy!=bcNsvr(scVePz)dSOg<0QaID)B
zG=<FZq6(bQd{j6<Loo*&_@^EN4<Sf{f{ecvJd@aZpoGV<+m*qRk-rtRMBla3&a?BZ
zW2cTvXNd~SOKtETl;&UmOE|h&z1D%oC!2r$?_~Grwslyiz)-5%&DMILF5DwoR2S@u
z6X4zjbIAE0-<-ZOme~D2(aHAu_Wx6$b`wawZnrGMIt7Mqw%*|XmKSQ}Jd#DftOYqA
zs!`-TSRdQ}1D$NIFGCU%WGTL5JSdZKG}}6_P+(x}7L8m1YQjW=NZ!B|3Jj$xmKRDC
z>e#w@tyd^8SYGJlRR+uHu25j8lk4UM(XYk2O=Ur{A3MME`~BqiIoE0XcR6?*?bmXM
zrf<s?7&<R{^w$01_dCJwa|krx#d{Yd$a;Ud0>cZ?=`J3<rk9t)Cw%JuyjcAgRPe7_
z4%(+<)or^Dr0~%x&}7d1<q8aSY@MvrmxC6h%mqoDJoW#-HEZ8;1%`UQZq{#WKw;X+
zTDM$*0kpiZ3FM9+H5}Hg3TqV@>cqN5D?lRGA<Y?UQP8<8_0`>?pz~N5KXkGNfn+b#
zvA+Cw=l_3ZQ*V$xybsqXFj$`JG__r>z)<tF*;WALvQjb26SZueyb2&4pK6UdMdg+&
zFuc~XJW(sq$;-7|f#EpopJkxj&%j{$saB|)6?8^Pr|6Gmpcdo1WeN;0tN;D~e>gPQ
z@HS-0aqG8kR?s;p72KVNHGls<Z26hr|DNWJ&i9~km{Xvo*fDEBktDPRv_q@&TyMaC
z&3pfky=Vdz-pQ9ex_SSA3jbtQ(=`eV9@&?E^qOdUFrKnJRxj$&ZFA74o8^#CC(A*P
zPMbp>|4+Pr-fSDc479+9C#v&a=lkf`muLThOZ3Cttlw8FFa&#a{_Ktq=&pBwbRZia
z{{!#k4_~Ih@Iw6L|Nq^UE}g8ZAfEb3&?bL55Oeuo&}3TYz2mIUmx9)uFfhDGd<5#l
zm5O)X+Yep@8wlo?2!Y3OUbBM7YdTr?ELC8L25k`O{2Od|8@z8#HfOa013V<UStVC1
zFu3%pXm`Fd{O{Q7qw*iLCZz?`^e_dT=K*Rnd_Mtd74v>xrNGcFstXQ|&!BR;*W{z-
zEz3hSu#h+g4T)nO{||sdB6KMzB>2DI?tI^Q4^*~+&m96W4#QT2cgtQ}rNCe*dwrDx
zL#a@=?desp*<kno|Np;c`VZO&_O_I*+ji+H1%?QaF)#0foC7`-%T@ri+NJe>3G0h>
z+d*!${k{aWQvZL6&x^M^!Q+MCO+_g>3=A)VPk~i{%<<?o-J}Crr3=~@yF`KEg~4u+
zoaoF|plZq%bdHAMNyi9}&SNjX?F22U1yylA$>+gaS<!0*kIv^Ft=~L5KYd>1*?9pp
zTEGS}%+>{Lm}&1S1qS|B&>)UuujhxxpP(X=za2EH;@J4}IRgVjeRk&w$DN=-rJ0W3
ze;QtDJy61(mU%!!qj!S2IRgVo610Ohty4q=qyU5s542taDY~Sg(c1)41ezjYf~lNo
zc+&CvPlSpthzcJSme(qdjW0nP?bBQ{PjYdkIW`{T;7D`n<WWh3OrU~DCJ*q+;M$d-
zHqpZuTX+8d|610gmo+C`fx)j^<OD=IZY5|I;o^&H;BYSi&rm~lDV4CkU<8FdXo449
zdvP?|RxeawU??&1=#_N?g-Y*g2LVvEAgTbeq}wzTM0MWu=(c4Cv6>GHys+ExA5^s#
z-SX(w6<Vdh02=6eW%#Z0{)+-oh0%Oep!Gnhp+~Ri)i6-eeAuJg<Pd0?FlY)|SQk9s
zkOWF6y|ya4(3ST=CqR?ojlWqK85l}89%p^L0Fsv?K<$8#P>)_w&c&b{+WbbLS=D!i
z0>kU$tkp{)g$+uigSO%&vp!g&z;MikiIJhf_TnPY##yOu*?^^>#%Js85_gYo+ryxg
zRkrQ_|JRlty-tjv70$_`dP@};nt$=vU+yhp^yqB4$ic+G&}k~MRDpqipFs03YyOs-
zjG$g$$tF-Hdfg>jx=4Yc;a7aUOvA4@{@&xD6GMIl@VEQ`E%N;pTO#!mwBV@WSGGsD
zZO{@>r{)R+0|Pjcn}4vBXw`Ey|6nTPe|a6$8TgS=qV@7D=!}ok9^JOuAmx3fpr!<9
z_hIvICXa4ixg`n=_1rI4fX-`q`~P$uXc~tJ<dL;oL1Q2{Ai-BA>(Ol+T@S969%_RI
z$6gs8c=2n;|Nk#lLBp86A)tld?>g_lfNVu7x!}>u>b(M#yF_(Bm07oGDVVYq15uDk
zXphdDFWk5N{}0*_#=)=2{Nl)w|Nmd4z54(E<pt0p)sv_H|9^Rmfq|iscf~Tu9>ka1
zA<c^mbs(qM7HBgt`1GneF9eOyy|}&Q|9}2{rX~x)a+%uTMB%m(w8cYZu>wO~DtL=W
z>+O=#7Y8<jvMdK^n@1pYn+NZv|L|=d=^Dt}JmNIKCjHs)|37S-M*v6xXq$(R1~jqV
z+W^_-G1;Tn_KOw+!;9RF|Np<{J_b6&<iN|%pnX!^X#1m1gF+a#KMK+QgRJ&LNq`oH
z2YTHbn|~-c@J~D1{9m4b+9A%X-&rSt6Kev41OK+SrMwOuH7Y!iEt9V`z-{gqFQ0%m
z+&Fd~DV6QK|Dt;9|NqTD{yTOaE#(6p%kzH!UIs_-0>p2uK1&rC1WI^8(`G!L$zNXN
z-1+~%Thwx?0>igMEc`8?Rcg(@r8hE`3wPYy*TBHQ>v8#=N9RY6?-!dNGIpEtELC9W
z{GiIf;K0ywvV^18yP^4~e7R=BqpH>eouZ$XfYzxrKKuWF|Nl-?P(FIOil2d@`IJDX
z=(QyZ46ox_5Ae56=VxGOc+}vL%v!ckfuTgS^+2g$^Y6k^p2l+^b309!FHvA{>=j{Y
z{PhnsCeWV751OD8b(ycg;F){|>|>8!7bZr~CgvqBjH>zz6&PMR@`KOoX}Jo@NWTU7
zxBcdC(FN^RNN@Pf$=`C7fq|jisNpv&e~UOsl)dFPcnf30Z+8Bc$Dlm-n}ff#2i)Bk
zUZTLzTk-$pEj|W@hTpvWEsH>Vcbk@jRq^w;r!g`x>;N54sQIIlm2HUv!^<OJm96|O
z;*1Oo<(3V<rTAMwz4UVNhTp>cEla`D5)g}Cs)Jo9&EGN`Y+yZqODi7(!%G3M@GSn8
zZy=|NH~jA4ZvkcbhTjwTTfT8KFuZ&R%Ib%c8-6qKw><?3fZE{TJ-{#bvw%*3iCe6|
z@bV)w14FlM@?r&sgYQ|IpEJJ5{PF+)OC>(gcxk|5Q0#NPc=qf6|CjR_Ktj1o6d0KJ
zTPHCvK+jvyIQ9QOIA}b2MGF^zioKnnjRzi}BTc$l`4=lNG(Wi7e1h?14(QYw(N~KU
z7`ja#EK*?D4?3~##jcN_PP3@_0tE)JKG1aD_0Owcn}8kq;?DQ~|6gl(B#W+F1S&LG
zuP=i4<X(gJtd=GyFzf@(7rode#=y|5I&YBz!|RtRyrA*1$%{aXkxgwDDKPkUes}CV
z;@JFzk-z0THv_{8CjOT1puJ$pynDgLg6K9-YU#Y%>&Vz4!`1xSq4~F6C+ot63Jhi3
zw%}yd#?Q;Z&|up;UxC5?IIA(Jqz9Eby|Oj)L9NkUpqh<=fuWS^7;ElA1qMcs|A#$h
zc<uuoQ2GD=|9Zz`F02d;9?7h}3l%`eOnF!yE>7|2e6|a;^9wY2d7K4Q^)tM%1r-?G
zJSw29#o&=_nhJ8C<!O)JNJbBSmqT8?A_gAKzy5g~KLj$`gWvg3Zy2LvXUkS_4I*l`
zP=TSr(z=wj`IkWH1dq<s9?7D&7AP=uF?;kDGa8=kV3hzn;FX8vwPNNjZ^q^q3LU(x
z3l$h_Ldz{YdPVQ*GBEIOJKzBu1%DBE5j1i&ZvnX9$=`AVGy(|fdwyVIU;v%ZRm%jb
z!c9Xf!NseD8Uw?N%=Q2OzgTeM|Nob_K#|UyxB%3&-o8MAq4i`b|8Z7dXpQUA`S3MU
z1#jn3ZQXMV6c{Ye^83H^NH#qLTK<;IyB|b#i?)CifA#3LIpxv$S@Q*GIs|lT19W_V
z@t?=RM=TzU$6utZ2Q5_VTA;wt8~VTVe&@%Rpp(P8S)a@YrMM!H<p&)3U5<3JUYf7K
zpn2@IM7QaQ`JlC&j{GiPI!*V?S72Z^^#VE7)?tAH!%G2f28L$aCG!;+SozxpK^|e9
zF(2efQ9(UWR6?f-UbsB^|NrGjE>Je&0iBRB;o<-PFCT)As`3M|u5&RkG^+la4_a9G
z{{PDpATICw`JncM0K?0jTp&yAL0oV;_UN@;7z=7CF5qHdc)1%iZD^|ma^-(VewRO;
zwqhVx+Af%{!0<8)WF;#r$a}W^ASF=meV(Vlpn3eIH%Qv_**t^~Z_NYwFk?Qbhx5`1
zB+Yt!9w=}^k#uhb=|1-QZa3>{kk$hwD$PHb`CFwxt*vBUkl7yHwgDhB4tRhU@V@*8
zI;bUClm`?x-K?gd?7#v#&Vb?N9Zpc7B!kR>IzN1#0>l6FFV}-4Ouays+j@Yczk%YQ
z6{5)02&Cv-r>!1{KL3&l90;-?We^3ng7Xv@UVPvC|NqM>kU^}mAcIW%L8NW#Jn%4O
z=f@Yv&w&!IElAX~7$oZP-|`%PuRB<a7Rc;ly#fCX|G$`b?*IRn1|VTx?|BLg%|99I
zV!K&6Kq^jx2IoLMp{jHL|G#$cW_>poG$aZh5Pd!uY}4z#-K-6B!MUSE4YZ8L1XOE1
z<N%ehf98S`{yq?C`v#)C^W*EjZqvsgA<>(26&N}{zO4KYO1T$6LadX(LcIb1UnYY^
z)j*=Qd*&iyQDm+H!%NU{MBS#GV9EJNlHcbjFuXSCHhn(_)Q7Ky%UIf0f($mjJ_odC
z$%TV~!P+)^E{JWx!NBn1%7_2|U+Qr%F!1lQ-2l=m`fd)$pD#5*HJs@}kdUoDl4;st
z(>lSXePaiiCJQ$06*~jNizy%f|9|;_9aILVgLQrckzhBqLer@K90i8n5R3n>tGZd8
zL9(JV=YWP=L8XKK97ucIrSk!}bhxUm3v!d?QGWjy9?7gr=71Xdwjeiobn~Wx3^LL1
z=(hO@8ZXrR<dOW%Bl!}zlt7dX9;-p?e9b@>nPz}=g#Xuk-}&(+BWO{I?V;HU4A8V^
zyKS}t!}t3y=lumm$;#QFP&5X)44gnaO{dRRVEBLTWj<&MWuI*;NM7{tY*=6Q?bHAN
zUp{AJVCa@zHycz^=%&vG)mPw>-6NSr#quzJ-*J$9NGn70FGK!zLvSnE^oAw_Xe1|@
zrO$)$!~X}6X-&`sbXue8ve^m@44~ub7SC2-c$vV+z>wC=J88B81LI53oJ(3WFUT28
zFWn$A6|)r>SYBE}IN7rm7&u<)Ksa%;6&M6w%0oDTvlSQ=UJ5}tF0&OF9A2`5IE}n!
zvq5d@m){vc7O85^R$%x8o{LOtR+X8p!0`Jes2P#gtjZ4xDR7HCtyz_6wgSWZm!O-s
z)0$Pk&Qf5w|8g6|fETkA81}zh3F0)W-kPPrQ2+lWs3qgk`MmSqi`<)_;fqSsm!NfW
z$65ExQeXg06Thy3Nc%yg)n4ZuXI(N&0W{CS@H(N_=~43!_HvF+)(Nu|7+weTI^BTs
zTR?n=UZ-UsK6mr0pia?TkdSV#(;TQ!Os8lZNJz?~+je0QD3VMo<-rYk=QaQTzj$@<
z|Ns9iDlh&1friPJ&s1Pw<8KuKl|Zcevp}k2K!-wz=EyTJ?9%`>06OpYdN6jg^34Jb
zpExiY9(eJ43Fuh4`yR<3Ua0ahFuc6R0%|x!%mmH9v|joFN{In8LB+1$Ojx>W{nlw~
zGgE<~l&#yeXC~<I8>5+^g7W{l7yEWVX9(tkdR1L4py{I5tdQ1`8AzxcWc<%U{?>Ak
z(X3x*fbtQjqHF%a*2(&8h5`eBd(02e7}B;`3JfnjSQr>qIF#r#{B|$pZ{$q_Ig3Go
z;pIipk($39_*+kaCfQU$Zu|fL{{NStIq4M~C87NLZhQ3F=7%XTbl!Wxu>vxv0t&>K
zLQt@nCd)A}bl!ULZ`J?*FIz!Pf?i%HaF<+E9JKmR^Mpq)ucrnBLpMvKV~2}a$jbyK
z28I<1B_<8OE%;l5nHU%hZ(GYw206Fa6~ue%Xsur>)cLCO-hR;8!!IU0|NsC0(bq5k
zAAWtk;kO6>w%0EF+aB|`fYLpGJ81uT!*6r`mV?kHwJLwhOHj*Lu=#{S!*6B&mN%gO
zFldKC^J|TU-^~2&n?Tc}Z#9}vaCGVx&ro1^c?#UXw&QOp0hu8Oa##y!Mz7(wEq^O$
zVz!yrY6d8GEd{r|UHDrTgLSy_w}RUEkT}tL`~Uw-km82l@#SU>zhjHD8h%GX9V6WE
z+n2v(9avXDN#IL;utCu!whg~y_*=w4U2qw&P<Dw)IbXx?Wd4>TAZN3KoccPi;Ws0H
z`)^RQ{%uaD?(XRd3@@cXGAEc`3pSr{c+J!K{)H_lO(cUx6IdsK6hwgLicO2BD==7_
zR!&!7C>8Ct&7BS_v0lFZ|NrGR&`7|s*H#|MqVAyME4o<=rh|$t@Px@r(78F?wniWW
zY)z&sF!YxHFXab?Bg2cium1msR7JLY(-jzA_-_6GADojtdTnoqz*^=C+zbq_OJBr-
zhGDvGpH2Xe%z@6(uzdkK1@qVL|Nmdye*6Fb>%eB!ThkO6e!uoG{0~dw!CU|Te{Hcs
zpv2@w0_fBl-4`;T?9~lA1n*Iv0>e(wIp7|>rmQjy44to>zPThYI`F%mH9YX5WX1pg
z$633kff`y23@-yf0cCq?0%#~wx|=m=8fb^#fe8u>^}Lp>Ai9S2MH*;^KUvgm8mNZR
zwFXh$tSlhv;8PY4W}OS)SS_c4_J^8%V^sk&bkiDrSr`~0QLhg=St(hR9i$;y_s>*t
zkL4(cf@}XZ6*TT{+|7D#DrgXO$y89+)rXbA@>HFi<{{7Izo3mQny)+#K4$^dVvO%W
zt=ku!OF%7|)l(H1To_+iv*t}zV5n1v*tr{YXi2i@WRNY%x*Z^@n>7$bLGA1oEeBa;
znmbj2q4WL=uP6WiJ2wAi>b8xUs=!bx2X;SGuREhPtN2s}hFad^uAr0i8PblsiZHOa
zFuu38{XYdH-fgNsRe|9})@IOR`37Fqsh~a%XgwBU)g$W*fu-OHEaa_IpaG0spou!@
zELN{<b}r~Z0nl8bX+kfkg6-?aoYnNu{N%xS@5TNF;QB%K1sf;`EMB}{1nMr@I!b}Y
znvNMBc+tA$|9?hSiC$1wuSA8#qw{Dt>$EAL6(_39y$TGf3=9bjwhRmk45bFX$$!AR
z?e6<@{(7+zyv@b4^Js}lH)u)llz0FCdnO-s(bPTDqrl+7c=+{p&;~O-{%zJiy~&I|
zosVA>zWe|GKkwQe1%}tNL2^PKy|(jnK*OKEJUZ{acmi@-H~0uDV;=CD5s&1fC9E(0
zECz>(1Zce5F%~@c3<?uya5TR80crwt+lo$6VCa_pJq6^ECE(+|x^+KJQ9#~f)S~hN
zv?AcZ3(W=pK^yEuJi2Y~O$IsO*^9D;plSlNH+&8_$Vw%e_kc|iE9L8+13q=8dyNXH
zaDj>ommciA-}&x^B51OKRUCB4L$@p_K90MnfX+S#?_3J#W@QA)wBAnZbWsT^De~ww
zeJlYA`}>W&+LJ+9OMu~p)?!d3mGT^C4GDlW-Clbd9@w>wk%3_!=-7GC$uMS1L25c#
z%>on{Dz#sjF9L5aQdkHYZxek93i57Sp=@wX(gL;sv^{GhIIG(p0!jDgs04tfjh(^!
z6b%o&c(UaG|IWjmtO32C^Gp~1|KEDMQn=gV#hC@*BoYiZ<=AUy@L;j}-2eYy=z@9-
z^T2geiHZYgOv}LVq~Rsc&KEDrmw=pCDf?pHLa@WyA%>_x3^6?LLUz;t|1UN!29K0=
zvfk)XU?|~iJy0U}QVVRJEuRDf!%I+~z1ud}UxDF;8OTD$x&Qxn*QhucetWTO4ulCQ
zIA_3kpk-Vyx}ZG6OZ)gjz)ca3x&Qxn9(^GQ@)hV{oJz57ix;2ggFUuU92EY?UZ#Wk
z2Q?}VFHS?W8@xC)=l}oXparlDFT@x9|KEB1MZi38J?+tXv{a+py7hmF$cwcQQ`(`X
zD1xSidu?0A!S<SO1X}^(y+{EC0qAtJ!=(Zq-LV=C)(oIRTh_*3fx)L+HMCoS!MF7Z
ze~TI`1A}k3j*3S&Z{kEy>fNHU9F(McMP0<93Bd4xPv`d+k7t7oHxg%Hc)<?JEWNgR
zAog!iBIvc%0I}bL*xjWJ9=)~-;?M&RUYr6s86qeQ7u*UG?6tim22};hf(t=n-K7d1
zy|(XR;xBqYg1x4uexSr<dj~FF0v5Nu022UhAWoPM%0>GHLBq^XW`Ws^AodLi8ys6_
zAZ$=Lzc>J4g9i6rY=N*r_maF=F$=W3_`Of(vlnw`|A!vDXAFrahZj<_!FzQKJbFzt
zPyGK6wyu-4qf3F|MgFY+|6fcy4r)NY0~he1g^LU?BtSve?V=K}4|EiitKm0S!?$}u
zH-LbaJ#u(-yQoBfSQ6bXDk3w#|LeHe>7t_GarrT5@H4^iz)nz+?$P=E&u5R--L~>w
z3Ji|>K?eCGr>H1EmQwq6e(>$Q?9&;dqS5(drsMbj9Tz=jcwT<&!x?iV!HYBINrH8a
ziU_|?jf#ljC0E0fhA00Ye<3&rTn?$c$e8#4e|LzAiVtWfO6#Rc>28bW|12d9FYM=n
z<Ge%^l4du9x5CcrRA2yE;W4A*qUYsDKCK}~5=tUoT>1&B<$C)-$&0nGPk{m4%WecQ
z3jP}&usm3&Zg|P^TAhqX=XH<&hd_0tC$r6gZ|*DtB`+WY)~|&?vn5v>Rr~uC82;}E
zt$cp#)f)380Td7pJ3t`@4pn~F7cY*?1eHB5Dh?jnE-D;`Cqc)wfOi{#7#5-$^$Z@F
z2S5wpK6&tK9RP)~2S}v^h<oA_e;n^^Sq6qr{1FG!`1M$?%Q7&O<rrS-W<A@hz|eX9
z{|U=OwU*tihkL=^@aSgU3$CJAE`U8E1==_L{{X0$>d9>I&5cE%<Yni-7t>aQCJPR|
z-U+hJq0#hYuL5X@8+P(8=zzy=(5W1qE}-?|P^SlAb!J5KUq%nfOU;iYJ(>@3z}>74
zb@L|=ew_mzmWOJE`2}KB96*a~1AKaI3#=3vUhB7>gtV$(zxC<e0<J_nx@}8A?(h8e
zf_FA3TY&Pj@hni8St8`oZ5sh9gD1}i@k>v?mhec198l@m&2k)cSJ7Rc&hP&(yuS8g
z;RR5b+iHT8yUYPiLX_|r9stJ>|C9roN4r^@+7%eUiQK2RM8#m{_kZ956O>XsE<f{V
zEjg0F->UZa|9^;{R_VW>IR56^`j)?iA3B)=iBPPef`~jh8ARks$uKaKaf72B6yL9v
zKJg2Pf*O>c_+u`BmR)_61}Tm_1PQfH&<b`?%Lf#y2Rvqe;*Vp!4^rX5uX6&ln8jcx
z!>L);9^Zd@bcU!{fIafE=np7Q$EYNLtjPdv?)U7x3px-n;pO39|Np~U1fHFLLWB2$
zdj6oz&5ds)7*Tc^x2SM{TL3=2IVv0;t+)AGKs|_EpzIAQW8ZspUIgWFkKQdRpbj-?
zsu7y&SvA{WxgN6f-KX<A=tL011E8D;%IrR!uRJb4_u#BK!r{TW2fT5uoAq<60)yen
z-U`MSsxv^bTdDG*W)`T1Z2r%}-%|De|Nj>;pnTM8J5dml#X;);yKQ&3DlkCG5m3~5
zUVi4&T5^P=#K^<)wFhYP-!l(>x63a+&H-0Xo}I@kd_6306sLMvzAol?aT2tlrt_$e
z=4W5VFWs#9t<WTaks7vuUCH0_33PPEWQeYpPeGjPGeM4gabO0x_~C%K&G5jBuvMT0
z2nj~yhHLn&|NlK2kAQ+3OFPZ8^9$%W5zyIn7z@E(IR5+p{~N1PmjVL|Wa`JSw?vfz
zygtm+@*RI0Xdg^BD^nLrV^rLy^ATv3Sm*l}@@GH+>y!MVUf^{a|29|X+#6_#R(FgF
zORqC%g0GCV`L}$z>9@lTB_jJlSHCnru73eKZErv5-k8_o&A+)y#G8NfmIyWf<}BfD
z{_Fr&^<wYi|NlGh`)a=NVSM{y!{h(|UuJ+ReDno<5uiA1K7!Il4Fzps18q}8pK|=h
zYT60f)Y1y-A9{5D_2~Qu+Q|qyxok!!r~v@GqXK-$y+`M*7dt`5_wr7P2Nmr;DgrLu
zp#hzTe0m!jKugywJvmCHx-DHguf3SO9~2fPJRZH368{4QUV^sFc{CqX@Uc8tdfl`6
z=l>F(G{?rD|Nro}fhK@mx>;9sD1gq^zU~HY@^9z>**`Nu0<=BusB7m@$L0qD%}-ez
z8=o?8FfjO7bMm)>PC@Ig<N#Tx0<o^J^=+4<L<y%u$1#Tk@7Q0nwH$EZpMT7u<y&c(
zYwME|78|A#UssSK$r9EBFW6tRwjAJ}f1u?+skv+Gfi6cWG*LyLZbt#o8Fs2ZoyS3|
z3O}s_F*;9se823`Tm1iZD8x@U`CGF<J5(-}csBoHEVXoOc*Id+{EhWmy8?p(|GpX(
zi4rk~hX3^?@(vB>8$b;lgX91IcOH7p51P}JJm#VzA-xOKCh<uA1ZrdZLJL5Yy`Qzy
z!QBsNmkhkQ$)nelkB@-?)C2MC{2Ll<c*&#rjfF?I?ZkGJ{)UT+hT(x1GBf`F_v}0l
zT6ov|L%x*Fvpd$}HE;6|8UEJ8ptG;KV>Q4f5vaNE(`)M64q8S01awlM1nB(tcF<KW
zcCLme9e04Epz~n>=)8tr7ZnNc5t0y62F!K<U6rtB64=28tp`A7mYe>K14XcH5-$V8
z3&E-X|G)GD?SE^oWsoT~^JuP7;b17$1JMEurD`7CruW*w_IdR3s<bOG>;hTo(Wn~J
z4w`-0|Nq7R8UO$LSk|a0l-hcB+j(@Gu4@As&-=X%u9#Q99n`OJV0du}RC;uqc7v28
zU-s;_dr>g?|Nobu9c~`UIVvomeH{`W{Odtw@xiyu9*loII$!MrPv~j>dJ!@aT)35R
zdh}K>9%JBr{pcI(-&O?%juJ87)+gW-cUSQ+Fzf>@>Ur@8bbCTFr~}(wqXIIsM1{lS
z;5+6QmA^ry%TcgCNvJ<T6Q5;ptp`C`LAqWfO#m&;a8Y6L;9n1FD;#{m>dANnqKUsX
z3p9h%ZMwG=G%R7e3`8YgelZUe+TAWH8px%g=TvYMSRfUJ;BzUvZ9!$RN3UrOJ80F^
z3&v^x|2J1#FqDdWbO&pASRN{2_4t1Zw0-`5^vg+qL0d1I>opil(mXnUfEHDIblaA-
zDljx#aF%MlxH1K_n5}_Vx=n$B>BYm<Ab;L%QD9))2Wnb-^xDqiW?(4Me69E*YSRDz
z4XU83=<heyT_7bTpuTq<Hv?qLcGSzgKR~Oq4tsR|1f}HedIyv;3zUivgZg!qE{>fC
zUR(n)ExQ8)n*XzvI=Wc0KB@s-xnjwBtp>Di#sNI#5!9l<@cozr0}BIW<E}%)Gly>8
z5=T(K548QUMG`cgbWq{7Znvpgivk1xu4g<&tj+&fON?B)JwqIOJ^wfVWU6Cv?De#1
z{?Ae>+R1C~sKDUT$y!naTBDd%qrmW5r};l?srqZyogg3c?|LS9oR!Z}fdR~G0*$-%
z79ME+$H?CXS|;YwExNZ^fx(e~*CW9q1(#kP@JU1me=#>d;&ACa=h*yEp!pdK=QXEZ
z5kAI?AZ0woX3hUu_knKC+6B5kjo;-OXpvg;8;&3s(D~@SqV`-2437T~fJd?o54>>f
z`~N>G^0k>`<Bxlw6=@c>V9L;?*F({xS5%&hfuZ@Jf=B0b$L0fyFikvt|Nrk`0}X{I
zfAHvh{=yKnSqwczeFr78<|7t|zq5X6Qea46U}GrZ{^lOQSjzg+4LsB?QVUudRt_qZ
zAgjfWv;M1r+z92;tt(#(F5f|lx@CXWC@^&E{;5%5c(D$2aE7%m1L*ucP8Vy{&ov4R
zC0drc_d$XDj^Ec56sMN5CqOalCws6)fguWXbS!9@?n{jY;1!u5_Tj_dS!2-M1v<pI
z+dZWD2U97#;s2N4SO5S2{{-ZuQ&4LFyiK6lHU{L#(#RJopu<eMqb*+i0WFU2wk@pz
zt(!agLbe~&;t+Lf0%tpY5Y>4T(x~m!4FLIJHmIQJwiRiD4a)wS{Qtj)HLGwF=qR2S
z7dL{&F+Wv<3MJ5-A`8g(w%@817$Tx$UnbB0|Nk&Jb2h(GKuPryh6ld0wl_ipTL2u`
zTrY0^`Tzgr98eMu4zU((hy*XUEDq?lt&CJ)cp<z4RR5MLTZ@)~WIVb-GWj5xpW8t)
zC1xJItkIDQ46i{u^PM6=ehT0KRdL{T8=&>@*FkFzAobh}&{Y@UG4B7T_*+5iSU}w{
z4sZ|bg=^3M|1Z97`2WAV+Q9?7Ocm7A_UL5gsa9ZkAp+`9R=aevN>zh$iwsCiZXRe7
zgBL8oUk$PvRLFIQfKCk;5cLJEB<wusq0OrelFK{^YRZFJ=m$ZqU~OL6Y6S)m_v9!3
zxKp5R+b4bjUIPIJhBSV?6Gc47S!Yy1Qrl}g4{g!=RSFCq+N>9<Aev4g_a;EwBoIb?
z<%bx-Klwl>Yeba-!wW{x*#ovdRiO0Db)3}#YHqiwR~2Zq(*~qw&D{V0`88w<suURb
z1yWQv_%&rqKx|FbSdh)#XiLI&fD#dCN!a1E381cmXXkZLM)B!YU8e=Q^P^W6L<c*9
zjz#+BqxlqE*dF}L{9iQ80yNzIwnX0WHorWm>BHdD`OBvhbY7O@e~~*L&4(F5``TZ5
zG#}wWD()vB?icxdm;t<n4Wt4z!N<tJ#86tCn4W5-pjxaDt(%xx7ON1go2-zWlUQ5~
zVx}pi<>!@vSm_Gssrk97B}J7WUY<f;Vs0vkm9LPNnUfmJr2q%fx*-ZBnI$=3=@JC9
zT%kNOFD1V`GbL6bI$Ae1Rv|e*H#adaMIkz|D7{!gPfsrvZVsK@qno3UlbM&Q5M5kS
zQW+0-4i|%eX^BF9nnG@BZhlcE7ejH0l|pi2o_dKwenDy;IB*nHi@6vIGAmMZiZiQH
z8H#ff^GX=XQ!~>uN*G*&oue5vV)8T@G-8TCM5-o(hN^*4g(gFYW01RRNHBx5k7t0B
zzhjUKLug(`VqQv4YKlT~PG&(;eqvFILUC$NYH~?tex8Csg=$U(7lUh2QGSs^acW*l
zW?s5NFihGnza%rQQX#c0HLnC+QBqNAVm3o&UUGg>QEGCD0?3OB1&Kw8xv3?oMa3Xb
zl~f`G6mnAY(n~TFO7im+a`N-ixfq=DOLI~{eojuz$pLF;NX|$sDo!n7C{9kyNleN~
zWhg011$o~}Ar<UEFc0Lyl6(c#lnT`pn4`*zGD|?>nRyDT#a5u8gPUHQS^`ZW3J{|}
zvf+sk^=bJ<3I&-d3aS|?3TcU%IjJe2G|R=1oROK6qL7xEmsy;VnxasiS&{*Dg1Tyo
zIu}D~QBi7fvWBsRrj>#xJP7hibCXhwKoN@w2L%n)6it{0D}|)Q6osPnB!%SsoctmM
z4b@T|FhWz2mJX2zc@WvE^t1|v#FCOC1=SRV(!A`v{PH|5hDS4+q3*GQ2`Us6WtJtD
zq$(7rmgpCyf`TA7KP6QGVID#$7A4@YQ^?CNQAo_m$xj9u1aXhLYOy*r;;>008=sk1
zmY9>70`({;%po2@vbdy30hE+glR;z*Lvaa)H<F7p6`+C|DXD3Rr8y;<Rti`{K{{GB
z(^@q%h#|E&S)mk><{>G{O2IYQSwTZVH5m~V&;V2@PAx1=%}Y)ND>0~0H86@$P*+Wc
zc@&gFi&7I)6w-?Fa}|m+Qgd=3X+#&AYd~2Rl=h$r55$G!dgKHJ5-ljHL`h_6`9;}K
z0WOBj{N$1xg%D4F=V0fMkVvRF#HRGrl7jNm%oK3KF3-qUNGwWKsLU_5=VA!<aP{$F
zP|Yc2aQ62J_4Ny8@bUC>4Q2>&4f1t%3}Eo_clUGjb!7+*b`4_i@b`5E%P@p{`nmXr
zd%7?{N&*zyKzS(@n%eX86iP}eA+GTBa}Hu~hL<7GqyZ{KARgsnkd8JoFsK7lh9Jt5
zK|0!>K|0z-HN_f?RFfH`qkUDAL6AYUSiwNgTtOpQQ^Cl<&_LJ7z|c&gxI`f}FFi9a
z6<mZkBg({-%;JKa#7gAUmzkGY0xm0)^YhX&)AhI*95QolK?ybo%wmY}FG$Vv^o9CP
zPXUpxLD8X*nO9I+qL7kWmYJNY$HkDApIllT4z5cWl5;Xs^Gcu`u)5%q%A8b&2<M{I
z#FA7`XKZFBl_X~7K~2p~Ey>7F(c@xJP6Y!7Wg|lnWQdP&^>uP}VF>q)cX9P`4RMW!
z#05jVpKC~bxNkf-x?r3DPZx&J5I2kX;E*6sKX-;lZ4((DwM}Mt)HaFXQQHKDN7FhO
z9!;CY@MwA)!=q`F7#>aNWOy{8hvCtLUWP{#x)=^^U^ujq;n9R8438#sGd!9ygW=JX
z2@H>>^e{Y{GKJyMlsycO`gSoq>f6omXi5XaqdpLSFT<lLa~K{?S;FvW$`*!4Q`Rs%
zn$pDZsB;O!qt2xa=NlLvbuM5yw3y-0c2G=vF-S)nS{r#VNJoP(DBk@m7^I^e8KnI|
zxQIbI+KEBhAB0O7q@!IJr2Rp-j6piunL*m$nL#?*)Y=G?TuecPD}!`2#7t8+2I**T
zi18q%2}s%uqSOq;HiEECau}qeeL!xp2Ag1#0b+v`_%cXG8$$$*Kn58@Gz5Tz>lmc{
zvlyiPvl*oQeHo<va~Y)l^BAQ4^BJW53mByR3mK&Siy5T-OBtm7%NeBoD<KYX1XHFE
z${0c!IY9&=lre-da)Ag!C}Rj^1oEw+wJC%$22oKA(!31Pyj%?R;D7-8zzpnWe~>#3
zt&Jd*DTFeEP{t6-B!EHMKM-t@5ri^@P-YOy7($r@GD!OeL6ku#QwU`Sp^PDvNf3jy
ze=tNDgffLtW)R94Oo3f!2#qpBQ?OH`4Na}VQDSInZ43%|LvsiT32;Mms48=)Ds!kR
z3$Q8+s45GnDhsG83#ckfuqsQaDody;OQ<SKh$<s!!2?lcWB^fRWB^fRWB^qKN}th2
zhEP?8P*sLdRfbSiU_Tf^lZz272^m9G8ADZp6Qq#|)GQOIStd|bCLmRk46F>wN#=$o
zhN%q7CZ^^|M#c=vY02hE1{Ms;hQ=nTNk$CHrltl47Um4f2C3!-=E)4oCPpC0pqy%9
zoM@cJplqI)lxS=T(r1wh(r0R%Xp&~kpqyxFl9H6fploE8l$c`3pqyd>f(*)Oi6F?J
zY?xx0VwlXJoR*fDW?;aeYybuf4Dq}F|A*m)yZ`?O;WNAc{|8~u-T(hzx%vNp$fbe9
zg_r*Se|PEsf3C~_|8Kbb|Nq&`|Np<a{Qp1qmH+?qul)btapnL2tylj4*T3}tf6&$c
z{~urd|KIQ$!oB@S>@`>a|37&ZAqVnTHdJ2VI;uEG4unB=fb0daCtd#kU-LS|Eg*Z<
zul)b-asB^)-OC8Qve*9qPr3g8zZP1!mEQdS{~%QC=*|ECe_Z_kpXt*7|3a7k|NngF
z|9_cF|Nm=W`v2ef+W-GS*Z%*HzxMxs&b9ylE3f_k-v-5#ul@hO;M)KHYe8zR|NkFE
z0^WV?|Nj%${{O#v?f-w!Nva^d@2~y;|L5BO|C~gaBM$Nt5$epY|NrlH{r`XUw*UXz
zNyIN(AbNg4X{FZx|4m!}|Br8lh%bWDAan0R*(`1U|8It}LE<nBv%jeA|9`Kx|DXdf
zz$0b<{|hjHE<Xp|83_^v@j>%z=osAj1?`b#U}QMZ@ZiIb28II<K*wQ#6@CEiMqyxJ
z_^=<$WzYc4k25s1=z$infOfNk`Kf2mLih)oz<h=SMGk3cX&}8I?7+a#V9zMcY%Rjf
zz>vtmz)(>2|9=8A1H*-;|NlFf85kZk{r|s1h=GBj=l_2LW(EeX-v9p>Ff%a3_Wu75
zI&ZDI_y7M3%nS@Od;k9jjbB{t{r{hVg@Hk;@Be=Z76u0OzW@IXSQr?5`u_h1E#zF<
z_y2za3j@Q?zW@I#SQr=t`~Ux+z{0=~(f|Md3Kj;2<o^Hv53n#WJn#Si{{{;K!~6dK
z|39!WFnsU-|DS`Efnmvn|Nj+O85j;s`2XL6m4QKW;{X2vtPBjM6aW9uU}azkocRBL
z11keV<)r`rPp~pD=uQ3qpMi~m;qcV|{}tF67^J8F{~y7|z>qin|NjOy28K1$|No!C
z#=u}V<NyB?Yzz#SXa4`s!Op<&Yv%v|3hWFF=Cl6)w_s;rNS*cne*`-NL+7mj|0~!T
z7*5an|9=8I1H+No|NkFgXJFVh|Nnmh4h9C*1^@qRa4;~0EcpN5frEjea^e5~9UKe{
z{)_(q-@w7ZaAoQL{}P-G3_F(n|L?%bz;Jol|Njx33=FTA{r_LU$-v;d{Qv(BP6mcM
z%m4pBz{$W+wBrB&8=MRbvsV27|ACW%!Fc8W{~TNl46^I~|Bv8eV3@b=|NjYG3=9+2
z|Np-NG?2gH|NjGA3=FXw|Nj@@W?-1S@&A7VZU%;_pmj3b3=Ec={{OGwW?%^1^#A`1
zZU%<nP5=LI;AUVrxcUEo1|9~6H#`6T@8DrzSiblF{~J6E4BPhp|Nnu9fgy0;|Nj!a
z3=9kR{r_*k%fRqv-~ay}ybKIm_y7N2z{|kkci{j39lQ(-Y={2;=ip;tcyZ|ee+51U
zhMvR!|6A}eFvuVI|G$8bfnnB>|NkfOF)-*J{r~?29|J?~(f|KH@G&slIr{&<06znR
z$npRG4fq)t_8$NLKZ2iu!SB@n{}cEb82E4h|NnrWfkFAs|Nj~S3=F1E{{K%9U|=}?
z^#A`20t^htpZ)*;Lx6!{-i!bLEd&`DuD$yIe}Nza1K;ca{|^W<FjT+(|Nns?1B2Y#
z|Nl9J7#Oy_{r^8fh=HN_-T(g+gcukSKK%c0A<V#V;luy`4Z@HdB?6%s7^{L97%K!A
zrFqynCNQ!KfW$%frl08e|6d!b21J3xK{Tp*1_sb#dXRdK^8f!6K>3+Zz>QDBi=Vrk
zqk+L*%38}<MG2%2q~8T}G->_+{~%=`F%Slc$1pH3Bz6A(9}E(JVvu+V0|Ud{&j0^G
z3q_#93?T6y1_p-3Sj0g`rLOG!|KA3tn1KPTeh&i!!`aUN|3M3vVNxJ-t}rk#{ObJw
zpBE+wRS#O5{J!)5e^oSb7Dfh!Kb`;oN1};?*74bP{r?YMs0Wn;nQy|#z);!s|GxxO
z3`Bv%eW2p*AOR=_iKj3!Fs$hM{~vU=HB=bv{u)LGhS^>J|F^&dq3)c*$iTqfjTxS6
z7#SG8cVUVjVPs%<-u3_gT97&Jd=EfFydZn;FfuUIbpQVkibn<)KG6CFu)SXx85kP6
zG5yQK#K3S6NqsmU2Uxud69dChG;vUz+b}UOob3MpUjt;J6Q4jIlM|mrFS9G3LJx~0
zpGF(23!gzVn=fAgGYcc1fg_)WBcFm3pM(>ifD<1qt(bsrb7f*+SlRRc|5nf}s}r9<
z50fLGL>sdUpF%T>3!ek?QYJnHM?MKhWPKn%?O|eIQ0xEyA3R0l$S2Uu<i{7l)WRp=
z$j1RP_YM;S!|eY5|06)|1IxScB``BF@@2&F6}a(LIPx_xdh#VCf;E7`jscSHLG{Y+
z3D9)w$S2SSa!)g}8=nG*;R03;3SZEPVb3P~|8ED?3!*?bOocErFz`(L{~xq{lL71>
z50HO6K>lGWM)e3NO}8*JFyu}A|9>jno$h=EOw+jdD%|)Q7+txUI{7M`_!<~PK~64U
z@&r2oWEnKQ9ARc)I6Ue9e|4xBhyuCq4l@J8rAhz)+kymK_ykJ$I2b_T_Jx^&0W?(v
zTGY(|4wp18J`PuIN2t6A3j+h|<p2LcWdJDM1aa|k_<&_0`Obuefq`@K|Nl-PbD<dI
zZyy#02II;9|NjJuA;K+)Z-WBUBe1tYHh?4<7<?EQ7;0D;82(KD|Nk2^0|O|W`a$WZ
zkJ*z?p_j#pPosy`gU_Ii&5_Tdnca<V10(ZUW<Co?a6)pzNJt?6o?&5NSTz0r|7?gA
zU=k$$goT0O>-7Ks^}!+#0+fFLurM(2%=rHww22<%&weIXK8Ze1`t4<L1=;Tcx1X6A
zl7cZT289u5&*{q<|Nnzl_%ry!(+krPq=-skU|`5$Wnh>-^Z)-=kbnL71fc$Pg8LU?
zp9fz9V=y1b;bUjco;x4P*TC4!-p1C$+RM_%+|R^ph&v!a?zzIsz_4Y`|Nl=wUPZ)%
z3!ehhRai8D!sQPu14F^w|No^y>Yx}TF2csZP&^m2eA9u7CxO&5dGQH^L-Lsm8w11M
zx&Qxz*5H8Ru@@ANJ<N`L3T>crpczySFx7#xzauRBgY2ncV_*PHK}`dh2Xfs+J`Rxh
z6gCEiN%Q{y2krb}h~g9QfR;mR*cccV&HMj<CQSVlJ`PYiI>N@lpgjNo|5u<RY@OiY
z>dFU8M~HCs;XA;{e3%7yIs%m&BJ2zddl&!z-w3h?5q{o$36*>q?tBH|d>M{>36Zd%
z1gQd-lRoSW44@VCpFkomd;&~wA^u5WXJB}+<p2Kyn0PkC-Jtn>i>3engU+1=g&RhC
zaD=BnH@*O7dqzGB7aYkSoUhNYGcdR=`~TkzWDhuB=fU$eC|uvLGcZIi`wzOh4x|E%
zLHU-21ELR9&w|{6TK*a^O+hMtLFI=D2Lr>-Wzh5iwkHf;o`dWO;b36ch-MEco^m)C
z7-lc~|342@&IQBc36cI0{$=*S%x{j6+yHhq1E|j219Hdm|Npf?^Wunj$7Y@jsQidv
z<lDjM$9I4+k#7g1Bi{x_CI_g1KU9EuIWyl5MpwQAjFEgN82$JzF#3a(dErhkAb+`V
zGBCuf{r`VAC|@Jo;mU`S{yaeCSP-8Bb35+b3n^cxa569)-|!!Fts?`dTyo>%0Jq21
za56CL+wlKCXk#C!+=kXmetZf{EwIE03jZsd3=D=F|NjpF1r;b?c|+3S8%_p>%#Hv5
zd&9)t_&7l21q&Ag!<>!(|AWq&Ml#o*&wyzw%v?};sl&y<V7m#L{}BFkgZmRvUi<I`
zFy&$kHBfk!a4|6SZTb(n?FL~E_IL|mp3jKQAdnwm^&b}l!?(@<|33nWf%4s5h=1>J
zF)$q1^8Y_LU4!Hp7#KkL`wJHXgU{Cg|0jdQ5c%7KPl2h5i%-H8Tx^4?Lr{|gT4jOK
zy$&}6!}6{F|5t<bxr5ppOvSK-4>H$>n}LC88`NBIy$^23ID_l`1}<<=IzcL0kjdai
z5GedxxEUB?xBdSQ?(8Dm<Ho0u&nMvwb`3axui<83DBbq|e?G{5kUtZ-_&7Wu6*I_v
zXSf*{j%@q?-vX4sT=*22jTvFi1E-%i+zbqNw*UVR+9rw=&!7~t0PHwuyGewHfgyIs
z|Nj$F+hgGN3#dI-i={mVidP>{-)q<Z{|7-WP5ki+YS=I@6Tls@p!7C}hk-%;^#A`N
zApaoDbBCulM0w%O7r^u$n`xkUdBVfM@cH!r|3aWfC&C<T>CK&Q1E>;#v`=Js85lt0
zX46pZN9aS;EB<^Jn3(hNBvg=pa(EdSgs=Yp{|6L**xZ3I&z&!T=`J?^fZB^&co`Uu
zU;Y38I@DcQ>e~Y5V~nU3F33&>1_n?&<O?qYL)`WM|1F^L3$1q$?Jk5n-1rKZviK@I
z`5GAA_&ONf_$DyA@y%d#;#<Jz$ydPKjMK-U^ccg(z@T^Y|9=aR-Qaqn0A3$~<ZJjC
z7~F3D{|{O^#o)^)z!U+O2B+6Kd<+beZ~p(k801fPJ_lwcMm`TmzJO>D>A(~NO5C8n
z8R(!FzT5x*gSP84B=HGg2@eC1*&5D=`4k+F@kuzH;S+E=3(1L~P6@nK0<K~}u4Mq#
zi!z|T{O$k$_ku+7;q5wiJ_V*aJ_*Oed;*TgKyCm@gYvNtKLf+<+yDQ+2DumPUw1wO
z=7)@s91K#$z)-`$z)-@^z@Sj@|Gy|Fq}>a3uLr!n<j41ck(q;)?+2qdUjvgPUk8&D
z-vlN{z8OqTd<&Rj_&zW)HS_&oOyX-`V)Ekq!RQ1Mso?v;7|z$g6wdd9(Gg^TB_rPt
z#!S8jrU0l2$OWKu_yuJD-T(hnK>~<$=*kDHufXLvxW4k`b11@=48iRk8_;5)yQu96
zkddQ!Gz3ONU^E0qLtr!nMnhm=LO=l2Fk)a}xBwk|_lC~6`9tYoC>;)^qoH&>jNUyk
z?xvQlwxG!Y1_p*?sDIL-bT*XEhtkDRx*SSZL+Lsw-3X;yp>!vd?uF75q4ZQJJrhdL
zh0+V5^in9j5=yUy(i@@lRw%s_O7Dfz2ch&)D18!2pM}yFp!5|eeH}^@3dif<$pVC`
z=B*I+u`Li<4@yIL2vTkngbkx1JO+mCpaB^e2Z=rbZrmdYK$+jepbQ*T6S$L$LlTSd
zvyG^Ne(@0gy7dqmM*ha(9#&|${XYaz$qrhC4LV^GN{d5jc_^(8rT>DigkxY}(1-HP
zp|m}ec8AjbP&yn+$3y9KC=Ic7lpGC#(GVC7fzc2c4S~@Rpl1l=L+jykC|wVw+o3dQ
zNDt&5bb2mS07@}@f-;~K!(S)^N->;<3@?Muo&Xug@Bod!1T>e$06u~dEHBOura;S_
zz>EyY$~Xqt+LkBV!NLrZ5Q@Rz5o8A=Y)%(6<PDON0uc-h3>Hv%(D*Az2qypaA7ol#
z253x}fq?;Z+A~PL05q1*zyMl~2I4Y+4kiXMK+Cp3bT-s|u(d4`AVCHO22m&tqd-$*
zVD<-y`=Hh^RPcaB!Q+V_7SuQfaS#WzQV=wN&%nR{6Q2O}D9qgnP>+I!QbAf^_Wy=X
zlQ4j;C}Ut?_y^-d_5X+RVea|><==r?{1eKTgGC(3@BzTE_-=R$2{&{nOoOI}Wl(w>
zls*QfuR-Z&Q2HB`W`i!?5QEZcP}&SiyFuwND4hnS%b;`{l%58qmqF=mQ2H2@z6PbA
zLFsQ$n#~#F6EP^Q2BpoQv>TKTgVJeGx(rIULFs8wdKr}72BnWd>1$B>8I=A8rP)9O
z;S3B6Vo+KQN}EAxHz*wjrPH8v8I*2=($k>yGAO+bN*{yLpxd}XK79t|e}mF&&_!!v
zP+AR2n?Y$eC>;i+)1Y)2lx~C4)1dS+D7_6zAA{1@p!72+{S8X9xq)28z#s;t)u6N)
zly-yCVNf~^N|!<DHYhy}N-u-b+o1F@D18k|KZDZWpfnqFk(?NmR)f-JP}&Vjhe7Ey
zC|w4n+o1F`D7_3yZ-dgup!78;{R~QfgVJmsQ2#?|H7IQcrQM)(7?e(f(q&M(4N6ag
z(#xRqHYj}zN?(K0&!F@-D9z>xwI52WL1{B6?FOa8pmZ9PE`!o-P<k4aUIwMNLFr>q
z`Wlpm*v7!%@dbN1V&KF8UgwRgxKmJ6QdUt_Q`gYc($>+{(>E|QGBz<aGq<p`vbM3c
zvv+WGa&~cbbNBG{^7ird^A89N3JwVk3y+A5ijIkmi%&>QN=`{lOV7y6%FfBn%P%M_
zDlRE4E3c@ms;;T6W2h)eEy~q3GBpEll7!TM3JlWG_GZaor-OIK7A2M|6eJcGTPWn^
zDCnjpXXGpBW~Nq@q~<B;CKs3F7bGbd8k!mz7%(vCCuQd87lV(00_zXXFD*(=Rd5FF
z;0!3rw*qZrwKX)*GcpBBGfV}qbcfgr61fE(4`6_bqs!li$wLDSCJ(wU0HpsJOdd@?
zO#T&29;$yjR2@wIJyael&44cd87dERAG-W^m^{>gnP}$!hRQ>w8PMhbL*-%Sqsudc
zuEPa+6l%aUH1pY^@=$38ba`&5Jj{G_d48BY)PNai<_kmRq0$WK^5Rf=nEB}P(lB|b
z0kfdyL%9s{FnN$485kH~^04?(LzABi)en=`Mw6cdm4`O>81$j?P+<mid1I(N%snu9
z7~cvikFFmkZwHl!@nQO5?sJ98L%qi^8)^_ty%!F7nEpUC`FUvi!=Umo^U&pEq4H2|
z3@~|E_#_dKPlL*%n-6neE>s@fe3*O@R34^(K2#yh{&J{1RG0x>z8Wfzt{=v4g36=o
zhsn1?<zal7`7rnOLFLi)!{jGH<zf0)K^4N}r$gmo?d;WP^0U$8d(q_Q6OdOp2uV5r
zp&1NazcO4N;=;9P<}XGwe;u0qay0q%X!5Jk<Ts$nuSb*Lh$g=oO@0%aJgj_#h2Lg0
z`R!=>x1h<x%0HO?t!VPQ(e!UalZTaWF#X%n<oBcL-+?9%t3P1+ccRH3M$;bzm50O@
z1H*BsJS3JG7+~_S{BaJ4Jgi@K6^A@5eWKT2F!N#Z==E0!n)~jcnGchPx$iL!d6@fN
z;gE;fk6!=5%!kRN*MEU%?)!*lK1?3wz8^T`Veb2nLmp;7di@DAA104pe+Hwuj}4kX
zVet!-hq;dzhdj)EA~@t>_M_LoF!N#Z==HC{KZr|U=}#KXd|s&gVfM?z<slO2@=9=d
zh>0+HnEkNwive1Gq07U{FIbB(8Db55+y=e=LYGIc|6ua4@I|lR(B;wVH<&!k{pj@@
zx;%RQ2HLX;3SpT2==B@AJbL{GlZS*R0|R>fhAxj@zro~T?nkfR(B;wVHx6j{gZu!(
zYVi04@fa8apz<*Hp|{`B<<Z;kFnO5!(A)3m^62gNaH##T@I`Omq06JU?_lyU_oKJ(
z(B;wFcQARF`_bEXp=j>YKnp*ZJj{Od_Ag8xW<GlRHw?{ueKhl7@-Xw!+m|qTnEB}K
z%Y9JuA+gQCV1{NsOde*w6%Kh={5ax}2d}{f9kYi+9#;PN<B*5-uEWse_oKN#7Kc2{
z{fRi_VeZesArEtZJ`Q=9`^#|1!`xqsCVv3U{Vh1;Veaq1ArEtZKMr}A`={ZMhq-?)
z4tbdSm!QcXM05XY9P%*tug4(|bN@CR@-X-B#UT%K{}D9#Lul?hjYA&hzKb~IVeY$$
zLmuY7hdAV6?t6(Qe;CbuA92XT-1i-aJj{Lnamd5m#|~YG0n6_&`(f_mN0UE-=00&8
z@-X+w;*f{APZfte%ze5z<YDeJMUy{@<~~~-@-X)~<B*5B&l`t4%zeQ)<YDfMMw35=
z=DuVc@-X*h;*f{AuMmek%zc$O<YDe>M3X;`=DtoG@-X-H<B*5BZ#oWnnEU4AkcYW%
zIhy<lH21B?ArEukRvhv$_wB_Y4|Cs99P%*tokf#BiRQkmIOJjOyNyF0=Dx=`<YDf6
zjYA&hzRzg#r_kJoUVooPlSi)~&!EYp*FR^`<k8Fbb7=DD<?DGgdGzw_0-8K}`En6W
z9zB0wLX$_&UzgG3(bM-8G<o#&brnq>J$|pD$)mTAuA|ALw?A&6$)nfrH__zL>(5(g
z^62%~Z8UlG`r{6oJbL+k7fl|${Je)Ik6wP=N0Ub{KOUgTqvu~(yEYrDt`u}|4Xkow
zU;rII1Lh?{<ulOMN5b+YOg^y^tQ=0j%!kP@u7FE{8L;_rSUY}WD_9tGM;_=*9R`>@
ztR0Rd51t8t$;0|ViE#Z8b71a+^+O*gK*V7rOg~JX3(fy9dFb>kLoMhq5SV5L288>d
zV(9u|<w`v?{QjebAE?{{h0$+lxdU3?0OJ3J^4*=CtrRre{X#Vr%=HZQ3_-^!nj4rI
z8!#~F6=xKe6qO_<G3aIHm82FGFzDswm!#@BI(h1rB&I`o>3OAkNu`-NDY}^{40<45
zMq+UWgI-EyUU6kEgf1z9$dsiP6=&w>p>X1h81#x#a}q%spsa$N5|EXdB@B86IVF1O
z`6Uc`C8-r940@nLRT=b(@>3E^5*hSTGvd=gN5;lyq!b}|5UufvMMa5~5FIc!NEgU1
zy`p@uyApFVlNmt9gREiD14%RJB^4Jl=z&fFPR#?I*8&Z8vMJE|5KtO{jYop_9)i}R
zKm}myQD7E;)WX;x8g#r3XblKdIYS7P0i$8<evn!a2E{jshG9kM8WN~Bh7u?PMuYb6
z!PJ6ibp4=ZDBu472VF@El4gLdlY!BoeVHH$P`U!qu=EIGgD~if5KtIEt%a|nfvu;R
z0bS4oTK)s_J4`=pJqu{s9JE#irXRL02S&rz;ehM{VUQUh8ixHqw@)IuAGXc~Mk_%z
zz}yeB2S$S~Kmo0xf$`xBj-cylz*kX2*9n2#33ETp{w!!22h$H*#{;8b>v&-H!}P=a
z4@!feIDsx7VfX-w5Tx}%uysTr{UAN)`s<);szBijauaM_4UC2^`vFOTF~}}314@93
zTTl?e^fy4)(ZFc%8A(vJAPTx{iUCH0md7LOe*m4AhtV+ig7ktgI=>gq{U4zEVe}`o
zb?q>FL1uw4Xs<i6{jhaoFdA0=g4BXAy8l6EZh-W|;_m}=-5HEl0Nu_8(g?-q_Ai9G
zAEsa6I7A_g2A#PB5rL5C_Jfx3BipY5x<;0PfdNLhpjn6>emfZ$7(kcCfzl?(2G}||
z1Mr~%&_!Y(2`Gl?htWqtdjS|AYa~EQVC(2Ch}3@(>VKI14$yUY4p99Lpuz!UFchPg
zXP_%0Kxq%AAGRK>;Vnc%05o7hYCs||cf*1ObWs&3{9yVoyocCu;XOz-1A_sCf|D@)
zF#0)~`x&6?_!yvP`#GRR7)&3G1}Q_f-vPP~#o-IYN(JaTJ_wHibd@QL38ue67xKZ}
zpTG|)(HR&L_(7&JFc?^YmB9&!@8Dbp(0#rjmFWJ2>4&Y4gy{gO1+kH7nB5?87_Nfa
R4?05(CI+Hm`ao<D1^`V7dHetX

diff --git a/bin/st b/bin/st
new file mode 120000
index 0000000..d9f2155
--- /dev/null
+++ b/bin/st
@@ -0,0 +1 @@
+st.dark
\ No newline at end of file