Update architecture documentation and remove obsolete frontends

This commit is contained in:
Ollie Agent 2026-08-16 19:21:26 +02:00
parent 57aa906e5f
commit e51a1d4ff7
18 changed files with 302 additions and 2503 deletions

252
README.md
View File

@ -1,179 +1,73 @@
| `client/` |#| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |
| `client/` |
| `client/` |O| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |A| `client/` |I| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |.| `client/` | | `client/` |A| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |b| `client/` |i| `client/` |n| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` |)| `client/` | | `client/` |e| `client/` |x| `client/` |p| `client/` |o| `client/` |s| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |
| `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |u| `client/` |r| `client/` |f| `client/` |a| `client/` |c| `client/` |e| `client/` |:| `client/` | | `client/` |a| `client/` | | `client/` |*| `client/` |*| `client/` |9| `client/` |P| `client/` |2| `client/` |0| `client/` |0| `client/` |0| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |*| `client/` |*| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |r| `client/` |e| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |d| `client/` |e| `client/` |l| `client/` |i| `client/` |b| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |l| `client/` |y| `client/` | | `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |m| `client/` |a| `client/` |l| `client/` |;| `client/` |
| `client/` |c| `client/` |a| `client/` |p| `client/` |a| `client/` |b| `client/` |i| `client/` |l| `client/` |i| `client/` |t| `client/` |i| `client/` |e| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |e| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |m| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |p| `client/` |i| `client/` |e| `client/` |c| `client/` |e| `client/` |s| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |s| `client/` |,| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |,| `client/` |
| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` |c| `client/` |a| `client/` |r| `client/` |s| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |a| `client/` |t| `client/` |h| `client/` |e| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |n| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |a| `client/` | | `client/` |m| `client/` |o| `client/` |n| `client/` |o| `client/` |l| `client/` |i| `client/` |t| `client/` |h| `client/` |i| `client/` |c| `client/` | | `client/` |f| `client/` |r| `client/` |a| `client/` |m| `client/` |e| `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` |.| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |B| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` |
| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |s| `client/` |h| `client/` |
| `client/` |g| `client/` |i| `client/` |t| `client/` | | `client/` |c| `client/` |l| `client/` |o| `client/` |n| `client/` |e| `client/` | | `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |.| `client/` |l| `client/` |n| `client/` |e| `client/` |e| `client/` |l| `client/` |y| `client/` |.| `client/` |d| `client/` |e| `client/` |/| `client/` |l| `client/` |k| `client/` |n| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |g| `client/` |i| `client/` |t| `client/` |
| `client/` |c| `client/` |d| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |
| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |
| `client/` |
| `client/` |R| `client/` |e| `client/` |q| `client/` |u| `client/` |i| `client/` |r| `client/` |e| `client/` |s| `client/` | | `client/` |[| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |c| `client/` |a| `client/` |s| `client/` |e| `client/` |y| `client/` |/| `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |)| `client/` |:| `client/` |
| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |s| `client/` |h| `client/` |
| `client/` |c| `client/` |a| `client/` |r| `client/` |g| `client/` |o| `client/` | | `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |j| `client/` |u| `client/` |s| `client/` |t| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |
| `client/` |
| `client/` |S| `client/` |e| `client/` |e| `client/` | | `client/` |[| `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |`| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |r| `client/` |u| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |.| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |C| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |u| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` |#| `client/` | | `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |`| `client/` |
| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |i| `client/` |n| `client/` |i| `client/` |
| `client/` |#| `client/` | | `client/` |D| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |n| `client/` |e| `client/` |w| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |
| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |=| `client/` | | `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |r| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |
| `client/` |
| `client/` |[| `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |r| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |]| `client/` |
| `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |=| `client/` | | `client/` |s| `client/` |k| `client/` |-| `client/` |o| `client/` |r| `client/` |-| `client/` |v| `client/` |1| `client/` |-| `client/` |.| `client/` |.| `client/` |.| `client/` |
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |/| `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |3| `client/` |-| `client/` |2| `client/` |3| `client/` |5| `client/` |b| `client/` |-| `client/` |a| `client/` |2| `client/` |2| `client/` |b| `client/` |
| `client/` |
| `client/` |[| `client/` |a| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |]| `client/` |
| `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |=| `client/` | | `client/` |s| `client/` |k| `client/` |-| `client/` |a| `client/` |n| `client/` |t| `client/` |-| `client/` |.| `client/` |.| `client/` |.| `client/` |
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |c| `client/` |l| `client/` |a| `client/` |u| `client/` |d| `client/` |e| `client/` |-| `client/` |s| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |t| `client/` |-| `client/` |4| `client/` |-| `client/` |2| `client/` |0| `client/` |2| `client/` |5| `client/` |0| `client/` |5| `client/` |1| `client/` |4| `client/` |
| `client/` |
| `client/` |[| `client/` |o| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |]| `client/` |
| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` | | `client/` |=| `client/` | | `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |:| `client/` |/| `client/` |/| `client/` |l| `client/` |o| `client/` |c| `client/` |a| `client/` |l| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` |:| `client/` |1| `client/` |1| `client/` |4| `client/` |3| `client/` |4| `client/` |
| `client/` |m| `client/` |o| `client/` |d| `client/` |e| `client/` |l| `client/` | | `client/` |=| `client/` | | `client/` |q| `client/` |w| `client/` |e| `client/` |n| `client/` |3| `client/` |:| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |s| `client/` |t| `client/` |
| `client/` |
| `client/` |[| `client/` |k| `client/` |i| `client/` |r| `client/` |o| `client/` |]| `client/` |
| `client/` |#| `client/` | | `client/` |k| `client/` |e| `client/` |y| `client/` | | `client/` |a| `client/` |u| `client/` |t| `client/` |o| `client/` |-| `client/` |d| `client/` |e| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |e| `client/` |d| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |i| `client/` |f| `client/` | | `client/` |u| `client/` |n| `client/` |s| `client/` |e| `client/` |t| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |
| `client/` |
| `client/` |E| `client/` |a| `client/` |c| `client/` |h| `client/` | | `client/` |s| `client/` |e| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |u| `client/` |r| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |l| `client/` |e| `client/` |c| `client/` |t| `client/` |s| `client/` | | `client/` |w| `client/` |h| `client/` |i| `client/` |c| `client/` |h| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |`| `client/` | | `client/` |t| `client/` |o| `client/` |p| `client/` |-| `client/` |l| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |t| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |=| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |c| `client/` |f| `client/` |g| `client/` |.| `client/` | | `client/` |S| `client/` |e| `client/` |e| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |`| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |f| `client/` |u| `client/` |l| `client/` |l| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |.| `client/` |
| `client/` |
| `client/` |E| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |l| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |u| `client/` |n| `client/` |d| `client/` |e| `client/` |r| `client/` | | `client/` |`| `client/` |$| `client/` |X| `client/` |D| `client/` |G| `client/` |_| `client/` |C| `client/` |O| `client/` |N| `client/` |F| `client/` |I| `client/` |G| `client/` |_| `client/` |H| `client/` |O| `client/` |M| `client/` |E| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` |(| `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |`| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` |.| `client/` | | `client/` |P| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |m| `client/` |e| `client/` |m| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |m| `client/` |a| `client/` |n| `client/` |a| `client/` |g| `client/` |e| `client/` |d| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |l| `client/` |y| `client/` | | `client/` |b| `client/` |y| `client/` | | `client/` |O| `client/` |p| `client/` |t| `client/` |M| `client/` |e| `client/` |m| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |`| `client/` |$| `client/` |X| `client/` |D| `client/` |G| `client/` |_| `client/` |D| `client/` |A| `client/` |T| `client/` |A| `client/` |_| `client/` |H| `client/` |O| `client/` |M| `client/` |E| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |o| `client/` |p| `client/` |t| `client/` |m| `client/` |e| `client/` |m| `client/` |`| `client/` | | `client/` |(| `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |:| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |l| `client/` |o| `client/` |c| `client/` |a| `client/` |l| `client/` |/| `client/` |s| `client/` |h| `client/` |a| `client/` |r| `client/` |e| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |o| `client/` |p| `client/` |t| `client/` |m| `client/` |e| `client/` |m| `client/` |`| `client/` |)| `client/` |.| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |W| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` | | `client/` |c| `client/` |a| `client/` |n| `client/` | | `client/` |d| `client/` |o| `client/` |
| `client/` |
| `client/` ||| `client/` | | `client/` |C| `client/` |a| `client/` |p| `client/` |a| `client/` |b| `client/` |i| `client/` |l| `client/` |i| `client/` |t| `client/` |y| `client/` | | `client/` ||| `client/` | | `client/` |H| `client/` |o| `client/` |w| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |C| `client/` |L| `client/` |I| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |u| `client/` |n| `client/` |i| `client/` |f| `client/` |i| `client/` |e| `client/` |d| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` |:| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |w| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |l| `client/` |s| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |n| `client/` |e| `client/` |w| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |c| `client/` |t| `client/` |l| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |e| `client/` |n| `client/` |v| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |`| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |e| `client/` |r| `client/` |m| `client/` |i| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |m| `client/` |u| `client/` |x| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |o| `client/` |u| `client/` |t| `client/` |,| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |w| `client/` |i| `client/` |d| `client/` |g| `client/` |e| `client/` |t| `client/` |s| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |O| `client/` |n| `client/` |e| `client/` |-| `client/` |s| `client/` |h| `client/` |o| `client/` |t| `client/` | | `client/` |L| `client/` |L| `client/` |M| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |"| `client/` |e| `client/` |x| `client/` |p| `client/` |l| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |m| `client/` |o| `client/` |n| `client/` |a| `client/` |d| `client/` |s| `client/` |"| `client/` |`| `client/` | | `client/` |o| `client/` |r| `client/` | | `client/` |`| `client/` |e| `client/` |c| `client/` |h| `client/` |o| `client/` | | `client/` |"| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |"| `client/` | | `client/` |\| `client/` ||| `client/` | | `client/` |o| `client/` | | `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` |`| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |R| `client/` |u| `client/` |n| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |r| `client/` |e| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |+| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |c| `client/` |t| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |n| `client/` |y| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` |(| `client/` |[| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |,| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |(| `client/` |G| `client/` |U| `client/` |I| `client/` |/| `client/` |K| `client/` |R| `client/` |u| `client/` |n| `client/` |n| `client/` |e| `client/` |r| `client/` |/| `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` |)| `client/` |,| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` |,| `client/` | | `client/` |`| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |`| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |P| `client/` |a| `client/` |i| `client/` |r| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |g| `client/` |r| `client/` |a| `client/` |m| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |W| `client/` |i| `client/` |r| `client/` |e| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |d| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |`| `client/` |f| `client/` |e| `client/` |e| `client/` |d| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |l| `client/` |-| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` | | `client/` |a| `client/` |s| `client/` | | `client/` |y| `client/` |o| `client/` |u| `client/` | | `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |(| `client/` |[| `client/` |d| `client/` |o| `client/` |c| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` |.| `client/` |m| `client/` |d| `client/` |#| `client/` |p| `client/` |a| `client/` |i| `client/` |r| `client/` |-| `client/` |p| `client/` |r| `client/` |o| `client/` |g| `client/` |r| `client/` |a| `client/` |m| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` |-| `client/` |-| `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |)| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |R| `client/` |e| `client/` |m| `client/` |o| `client/` |t| `client/` |e| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |e| `client/` |t| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |m| `client/` |o| `client/` |t| `client/` |e| `client/` |=| `client/` |u| `client/` |s| `client/` |e| `client/` |r| `client/` |@| `client/` |h| `client/` |o| `client/` |s| `client/` |t| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |g| `client/` |r| `client/` |o| `client/` |u| `client/` |n| `client/` |d| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |e| `client/` |s| `client/` |s| `client/` |e| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |s| `client/` |s| `client/` | | `client/` |`| `client/` |"| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |g| `client/` |r| `client/` |o| `client/` |u| `client/` |n| `client/` |d| `client/` |"| `client/` |:| `client/` | | `client/` |t| `client/` |r| `client/` |u| `client/` |e| `client/` |`| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` |n| `client/` |y| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |o| `client/` |u| `client/` |t| `client/` |,| `client/` | | `client/` |o| `client/` |u| `client/` |t| `client/` |p| `client/` |u| `client/` |t| `client/` | | `client/` |p| `client/` |u| `client/` |s| `client/` |h| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |o| `client/` |n| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |P| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |N| `client/` |o| `client/` |n| `client/` |-| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |l| `client/` |i| `client/` |c| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |c| `client/` |a| `client/` |l| `client/` |l| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` | | `client/` |a| `client/` | | `client/` |t| `client/` |u| `client/` |r| `client/` |n| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` | | `client/` |(| `client/` |s| `client/` |c| `client/` |o| `client/` |p| `client/` |e| `client/` |-| `client/` |b| `client/` |a| `client/` |s| `client/` |e| `client/` |d| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |l| `client/` |i| `client/` |c| `client/` |t| `client/` | | `client/` |s| `client/` |c| `client/` |h| `client/` |e| `client/` |d| `client/` |u| `client/` |l| `client/` |i| `client/` |n| `client/` |g| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |S| `client/` |u| `client/` |b| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |u| `client/` |b| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |_| `client/` |s| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |d| `client/` |e| `client/` |l| `client/` |e| `client/` |g| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |a| `client/` | | `client/` |t| `client/` |r| `client/` |a| `client/` |n| `client/` |s| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` |d| `client/` |e| `client/` |p| `client/` |e| `client/` |n| `client/` |d| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |h| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |r| `client/` |e| `client/` |c| `client/` |e| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` | | `client/` |o| `client/` |n| `client/` |e| `client/` |-| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |s| `client/` |n| `client/` |a| `client/` |p| `client/` |s| `client/` |h| `client/` |o| `client/` |t| `client/` | | `client/` |o| `client/` |f| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` |'| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |v| `client/` |e| `client/` |r| `client/` |s| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |,| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |n| `client/` | | `client/` |r| `client/` |e| `client/` |t| `client/` |u| `client/` |r| `client/` |n| `client/` |s| `client/` | | `client/` |o| `client/` |n| `client/` |l| `client/` |y| `client/` | | `client/` |i| `client/` |t| `client/` |s| `client/` | | `client/` |f| `client/` |i| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |r| `client/` |e| `client/` |p| `client/` |l| `client/` |y| `client/` |;| `client/` | | `client/` |i| `client/` |t| `client/` | | `client/` |c| `client/` |a| `client/` |n| `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |m| `client/` |u| `client/` |t| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` |'| `client/` |s| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |.| `client/` | | `client/` |M| `client/` |u| `client/` |l| `client/` |t| `client/` |i| `client/` |p| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |s| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |l| `client/` |.| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |W| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |J| `client/` |S| `client/` |O| `client/` |N| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |r| `client/` |o| `client/` |p| `client/` | | `client/` |a| `client/` |n| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |+| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |l| `client/` |o| `client/` |a| `client/` |d| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |v| `client/` |i| `client/` |a| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |_| `client/` |l| `client/` |o| `client/` |a| `client/` |d| `client/` |`| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |d| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |e| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |w| `client/` |i| `client/` |t| `client/` |h| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |o| `client/` |n| `client/` |l| `client/` |y| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |n| `client/` |o| `client/` | | `client/` |w| `client/` |r| `client/` |a| `client/` |p| `client/` |p| `client/` |e| `client/` |r| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` | | `client/` |n| `client/` |e| `client/` |e| `client/` |d| `client/` |e| `client/` |d| `client/` | | `client/` |(| `client/` |[| `client/` |d| `client/` |o| `client/` |c| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |-| `client/` |d| `client/` |e| `client/` |f| `client/` |i| `client/` |n| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |s| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |*| `client/` |*| `client/` |D| `client/` |o| `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |*| `client/` |*| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |o| `client/` |a| `client/` |d| `client/` | | `client/` |m| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |a| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` ||| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |R| `client/` |e| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |o| `client/` |u| `client/` |t| `client/` |
| `client/` |
| `client/` |S| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |.| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |g| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |l| `client/` |i| `client/` |v| `client/` |e| `client/` |s| `client/` | | `client/` |i| `client/` |n| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |`| `client/` |k| `client/` |d| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |t| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |s| `client/` |a| `client/` |m| `client/` |e| `client/` | | `client/` |r| `client/` |e| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |.| `client/` |
| `client/` |
| `client/` ||| `client/` | | `client/` |D| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |a| `client/` |n| `client/` |g| `client/` |u| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |b| `client/` |i| `client/` |n| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |+| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |c| `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |v| `client/` |i| `client/` |r| `client/` |t| `client/` |f| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |d| `client/` |e| `client/` |c| `client/` |l| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |E| `client/` |D| `client/` |S| `client/` |L| `client/` | | `client/` |(| `client/` |g| `client/` |e| `client/` |n| `client/` |e| `client/` |r| `client/` |i| `client/` |c| `client/` |,| `client/` | | `client/` |r| `client/` |e| `client/` |u| `client/` |s| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |t| `client/` |o| `client/` |c| `client/` |o| `client/` |l| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |+| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |C| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |l| `client/` |s| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |S| `client/` |P| `client/` | | `client/` |b| `client/` |r| `client/` |i| `client/` |d| `client/` |g| `client/` |e| `client/` | | `client/` |d| `client/` |a| `client/` |e| `client/` |m| `client/` |o| `client/` |n| `client/` | | `client/` |+| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |i| `client/` |b| `client/` |r| `client/` |a| `client/` |r| `client/` |y| `client/` | | `client/` |(| `client/` |g| `client/` |o| `client/` |p| `client/` |l| `client/` |s| `client/` |,| `client/` | | `client/` |c| `client/` |l| `client/` |a| `client/` |n| `client/` |g| `client/` |d| `client/` |,| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |l| `client/` |e| `client/` |p| `client/` |h| `client/` |e| `client/` |n| `client/` |s| `client/` |e| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |e| `client/` |n| `client/` |v| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |E| `client/` |n| `client/` |v| `client/` |i| `client/` |r| `client/` |o| `client/` |n| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |v| `client/` |a| `client/` |r| `client/` |i| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |d| `client/` |e| `client/` |f| `client/` |a| `client/` |u| `client/` |l| `client/` |t| `client/` |s| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |t| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |O| `client/` |u| `client/` |t| `client/` |p| `client/` |u| `client/` |t| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |t| `client/` |t| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |l| `client/` |o| `client/` |g| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |t| `client/` |r| `client/` |u| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` |d| `client/` | | `client/` |l| `client/` |o| `client/` |g| `client/` |g| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |G| `client/` |o| `client/` | | `client/` ||| `client/` | | `client/` |X| `client/` |D| `client/` |G| `client/` | | `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |k| `client/` |d| `client/` |e| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |+| `client/` |+| `client/` |/| `client/` |Q| `client/` |t| `client/` |6| `client/` | | `client/` ||| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` |,| `client/` | | `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` |,| `client/` | | `client/` |K| `client/` |I| `client/` |O| `client/` |,| `client/` | | `client/` |K| `client/` |R| `client/` |u| `client/` |n| `client/` |n| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |D| `client/` |o| `client/` |l| `client/` |p| `client/` |h| `client/` |i| `client/` |n| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |e| `client/` |g| `client/` |r| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |r| `client/` |i| `client/` |b| `client/` |/| `client/` |e| `client/` |l| `client/` |i| `client/` |s| `client/` |p| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` | | `client/` |L| `client/` |i| `client/` |s| `client/` |p| `client/` | | `client/` ||| `client/` | | `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |e| `client/` |l| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |J| `client/` |S| `client/` |O| `client/` |N| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |s| `client/` | | `client/` |(| `client/` |i| `client/` |n| `client/` |s| `client/` |t| `client/` |a| `client/` |l| `client/` |l| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |`| `client/` |~| `client/` |/| `client/` |.| `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |/| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |i| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` ||| `client/` | | `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |(| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |+| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |i| `client/` |l| `client/` |e| `client/` |d| `client/` |)| `client/` | | `client/` |+| `client/` | | `client/` |`| `client/` |.| `client/` |m| `client/` |e| `client/` |t| `client/` |a| `client/` |`| `client/` | | `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` |c| `client/` |a| `client/` |r| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |s| `client/` |k| `client/` |i| `client/` |l| `client/` |l| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |o| `client/` |m| `client/` |a| `client/` |i| `client/` |n| `client/` | | `client/` |k| `client/` |n| `client/` |o| `client/` |w| `client/` |l| `client/` |e| `client/` |d| `client/` |g| `client/` |e| `client/` | | `client/` |m| `client/` |o| `client/` |d| `client/` |u| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |a| `client/` |t| `client/` |a| `client/` |/| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |h| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` ||| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` | | `client/` |(| `client/` |`| `client/` |o| `client/` |`| `client/` |,| `client/` | | `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |r| `client/` |e| `client/` |m| `client/` |o| `client/` |u| `client/` |n| `client/` |t| `client/` |`| `client/` |,| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` | | `client/` |h| `client/` |e| `client/` |l| `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |M| `client/` |a| `client/` |r| `client/` |k| `client/` |d| `client/` |o| `client/` |w| `client/` |n| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |r| `client/` |c| `client/` |h| `client/` |i| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` | | `client/` |d| `client/` |o| `client/` |c| `client/` |s| `client/` |,| `client/` | | `client/` |u| `client/` |s| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` |g| `client/` |u| `client/` |i| `client/` |d| `client/` |e| `client/` | | `client/` ||| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` |#| `client/` | | `client/` |I| `client/` |n| `client/` |t| `client/` |e| `client/` |r| `client/` |n| `client/` |a| `client/` |l| `client/` | | `client/` |p| `client/` |a| `client/` |c| `client/` |k| `client/` |a| `client/` |g| `client/` |e| `client/` |s| `client/` | | `client/` |(| `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |o| `client/` |r| `client/` |t| `client/` |a| `client/` |b| `client/` |l| `client/` |e| `client/` | | `client/` |o| `client/` |u| `client/` |t| `client/` |s| `client/` |i| `client/` |d| `client/` |e| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |i| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |m| `client/` |a| `client/` |n| `client/` |d| `client/` |)| `client/` |
| `client/` |
| `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |c| `client/` |k| `client/` |a| `client/` |g| `client/` |e| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |a| `client/` |r| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` | | `client/` |D| `client/` |e| `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` |-| `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |l| `client/` |o| `client/` |o| `client/` |p| `client/` |,| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` |t| `client/` |o| `client/` |r| `client/` |y| `client/` |,| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |L| `client/` |M| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |i| `client/` |d| `client/` |e| `client/` |r| `client/` |s| `client/` | | `client/` |(| `client/` |A| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |,| `client/` | | `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |A| `client/` |I| `client/` |/| `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |R| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |,| `client/` | | `client/` |O| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |,| `client/` | | `client/` |G| `client/` |e| `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |,| `client/` | | `client/` |C| `client/` |o| `client/` |p| `client/` |i| `client/` |l| `client/` |o| `client/` |t| `client/` |,| `client/` | | `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |l| `client/` |i| `client/` |f| `client/` |e| `client/` |c| `client/` |y| `client/` |c| `client/` |l| `client/` |e| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` |,| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |c| `client/` |e| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |f| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |t| `client/` |r| `client/` |e| `client/` |e| `client/` | | `client/` |(| `client/` |v| `client/` |i| `client/` |r| `client/` |t| `client/` |f| `client/` |s| `client/` |-| `client/` |d| `client/` |e| `client/` |c| `client/` |l| `client/` |a| `client/` |r| `client/` |e| `client/` |d| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |,| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |b| `client/` |y| `client/` |p| `client/` |a| `client/` |s| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |B| `client/` |y| `client/` |p| `client/` |a| `client/` |s| `client/` |s| `client/` | | `client/` |b| `client/` |r| `client/` |o| `client/` |k| `client/` |e| `client/` |r| `client/` | | `client/` |(| `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` | | `client/` |e| `client/` |s| `client/` |c| `client/` |a| `client/` |p| `client/` |e| `client/` | | `client/` |a| `client/` |p| `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |a| `client/` |l| `client/` |)| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |p| `client/` |a| `client/` |w| `client/` |n| `client/` |s| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` |e| `client/` |c| `client/` |t| `client/` |s| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` |s| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |t| `client/` |e| `client/` |m| `client/` |p| `client/` |l| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |r| `client/` |e| `client/` |g| `client/` |i| `client/` |s| `client/` |t| `client/` |r| `client/` |y| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |P| `client/` |e| `client/` |r| `client/` |-| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |r| `client/` |e| `client/` |g| `client/` |i| `client/` |s| `client/` |t| `client/` |r| `client/` |y| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |S| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |e| `client/` |d| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |e| `client/` |x| `client/` |e| `client/` |c| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |L| `client/` |a| `client/` |n| `client/` |d| `client/` |l| `client/` |o| `client/` |c| `client/` |k| `client/` | | `client/` |s| `client/` |a| `client/` |n| `client/` |d| `client/` |b| `client/` |o| `client/` |x| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |f| `client/` |i| `client/` |g| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |w| `client/` |r| `client/` |a| `client/` |p| `client/` |p| `client/` |e| `client/` |r| `client/` | | `client/` ||| `client/` |
| `client/` ||| `client/` | | `client/` |`| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |`| `client/` |c| `client/` |m| `client/` |d| `client/` |/| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` ||| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` | | `client/` |+| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` | | `client/` |m| `client/` |a| `client/` |n| `client/` |a| `client/` |g| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` ||| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |A| `client/` |r| `client/` |c| `client/` |h| `client/` |i| `client/` |t| `client/` |e| `client/` |c| `client/` |t| `client/` |u| `client/` |r| `client/` |e| `client/` |
| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |m| `client/` |e| `client/` |r| `client/` |m| `client/` |a| `client/` |i| `client/` |d| `client/` |
| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |T| `client/` |B| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |F| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` | | `client/` |(| `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |o| `client/` | | `client/` |/| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |)| `client/` |"| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` |[| `client/` |"| `client/` |o| `client/` | | `client/` |t| `client/` |u| `client/` |i| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |(| `client/` |t| `client/` |m| `client/` |u| `client/` |x| `client/` | | `client/` |+| `client/` | | `client/` |o| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` |/| `client/` |c| `client/` |t| `client/` |l| `client/` |)| `client/` |"| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` |[| `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |A| `client/` |T| `client/` |E| `client/` |[| `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |l| `client/` |u| `client/` |g| `client/` |i| `client/` |n| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |E| `client/` |M| `client/` |A| `client/` |C| `client/` |S| `client/` |[| `client/` |E| `client/` |m| `client/` |a| `client/` |c| `client/` |s| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |e| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |.| `client/` |e| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |C| `client/` |M| `client/` |E| `client/` |[| `client/` |P| `client/` |l| `client/` |a| `client/` |n| `client/` | | `client/` |9| `client/` | | `client/` |a| `client/` |c| `client/` |m| `client/` |e| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |C| `client/` |R| `client/` |I| `client/` |P| `client/` |T| `client/` |S| `client/` |[| `client/` |S| `client/` |h| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` |s| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |o| `client/` | | `client/` |r| `client/` |e| `client/` |a| `client/` |d| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |o| `client/` | | `client/` |w| `client/` |r| `client/` |i| `client/` |t| `client/` |e| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |o| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` |"| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |[| `client/` |"| `client/` |o| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` | | `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |R| `client/` |E| `client/` |P| `client/` |L| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |o| `client/` |s| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |"| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |"| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |P| `client/` |9| `client/` |[| `client/` |9| `client/` |P| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |/| `client/` | | `client/` |n| `client/` |a| `client/` |m| `client/` |e| `client/` |s| `client/` |p| `client/` |a| `client/` |c| `client/` |e| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` |[| `client/` |s| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |.| `client/` |S| `client/` |e| `client/` |s| `client/` |s| `client/` |i| `client/` |o| `client/` |n| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |n| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |s| `client/` |i| `client/` |s| `client/` |t| `client/` |e| `client/` |n| `client/` |c| `client/` |e| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |G| `client/` |[| `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |.| `client/` |A| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |l| `client/` |o| `client/` |o| `client/` |p| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |p| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |p| `client/` |r| `client/` |o| `client/` |m| `client/` |p| `client/` |t| `client/` | | `client/` |a| `client/` |s| `client/` |s| `client/` |e| `client/` |m| `client/` |b| `client/` |l| `client/` |y| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |r| `client/` |v| `client/` | | `client/` |(| `client/` |s| `client/` |e| `client/` |p| `client/` |a| `client/` |r| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |e| `client/` |s| `client/` |s| `client/` |)| `client/` |"| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` |[| `client/` |9| `client/` |P| `client/` | | `client/` |F| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |<| `client/` |b| `client/` |r| `client/` |>| `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` | | `client/` |Â| `client/` |·| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |c| `client/` |/| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |E| `client/` |X| `client/` |E| `client/` |C| `client/` |[| `client/` |T| `client/` |o| `client/` |o| `client/` |l| `client/` | | `client/` |S| `client/` |c| `client/` |r| `client/` |i| `client/` |p| `client/` |t| `client/` |s| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |g| `client/` |r| `client/` |a| `client/` |p| `client/` |h| `client/` | | `client/` |"| `client/` |L| `client/` |L| `client/` |M| `client/` | | `client/` |B| `client/` |a| `client/` |c| `client/` |k| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` |"| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |L| `client/` |L| `client/` |[| `client/` |O| `client/` |l| `client/` |l| `client/` |a| `client/` |m| `client/` |a| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` |A| `client/` |I| `client/` |[| `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |A| `client/` |I| `client/` | | `client/` |/| `client/` | | `client/` |O| `client/` |p| `client/` |e| `client/` |n| `client/` |R| `client/` |o| `client/` |u| `client/` |t| `client/` |e| `client/` |r| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |N| `client/` |T| `client/` |[| `client/` |A| `client/` |n| `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |p| `client/` |i| `client/` |c| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |C| `client/` |O| `client/` |P| `client/` |[| `client/` |C| `client/` |o| `client/` |p| `client/` |i| `client/` |l| `client/` |o| `client/` |t| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |I| `client/` |R| `client/` |O| `client/` |[| `client/` |K| `client/` |i| `client/` |r| `client/` |o| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` | | `client/` |G| `client/` |E| `client/` |M| `client/` |[| `client/` |G| `client/` |e| `client/` |m| `client/` |i| `client/` |n| `client/` |i| `client/` |]| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |e| `client/` |n| `client/` |d| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |U| `client/` |I| `client/` | | `client/` |&| `client/` | | `client/` |S| `client/` |C| `client/` |R| `client/` |I| `client/` |P| `client/` |T| `client/` |S| `client/` | | `client/` |&| `client/` | | `client/` |A| `client/` |C| `client/` |M| `client/` |E| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |O| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |O| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |P| `client/` |9| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |&| `client/` | | `client/` |K| `client/` |A| `client/` |T| `client/` |E| `client/` | | `client/` |&| `client/` | | `client/` |E| `client/` |M| `client/` |A| `client/` |C| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |P| `client/` |9| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |P| `client/` |9| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |A| `client/` |G| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |S| `client/` |E| `client/` |S| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` ||| `client/` |9| `client/` |P| `client/` | | `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |U| `client/` |n| `client/` |i| `client/` |x| `client/` | | `client/` |s| `client/` |o| `client/` |c| `client/` |k| `client/` |e| `client/` |t| `client/` ||| `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |A| `client/` |G| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` ||| `client/` |s| `client/` |t| `client/` |r| `client/` |e| `client/` |a| `client/` |m| `client/` |i| `client/` |n| `client/` |g| `client/` ||| `client/` | | `client/` |O| `client/` |L| `client/` |L| `client/` | | `client/` |&| `client/` | | `client/` |O| `client/` |A| `client/` |I| `client/` | | `client/` |&| `client/` | | `client/` |A| `client/` |N| `client/` |T| `client/` | | `client/` |&| `client/` | | `client/` |C| `client/` |O| `client/` |P| `client/` | | `client/` |&| `client/` | | `client/` |K| `client/` |I| `client/` |R| `client/` |O| `client/` | | `client/` |&| `client/` | | `client/` |G| `client/` |E| `client/` |M| `client/` |
| `client/` |
| `client/` | | `client/` | | `client/` | | `client/` | | `client/` |T| `client/` |O| `client/` |O| `client/` |L| `client/` |S| `client/` | | `client/` |-| `client/` |-| `client/` |>| `client/` | | `client/` |E| `client/` |X| `client/` |E| `client/` |C| `client/` |
| `client/` |`| `client/` |`| `client/` |`| `client/` |
| `client/` |
| `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |s| `client/` |r| `client/` |v| `client/` |`| `client/` | | `client/` |e| `client/` |x| `client/` |p| `client/` |o| `client/` |s| `client/` |e| `client/` |s| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |r| `client/` |u| `client/` |n| `client/` |t| `client/` |i| `client/` |m| `client/` |e| `client/` | | `client/` |o| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |i| `client/` |n| `client/` |g| `client/` |l| `client/` |e| `client/` | | `client/` |s| `client/` |u| `client/` |r| `client/` |f| `client/` |a| `client/` |c| `client/` |e| `client/` |:| `client/` | | `client/` |a| `client/` | | `client/` |9| `client/` |P| `client/` |2| `client/` |0| `client/` |0| `client/` |0| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |.| `client/` |
| `client/` |`| `client/` |o| `client/` |`| `client/` | | `client/` |i| `client/` |s| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |C| `client/` |L| `client/` |I| `client/` | | `client/` |l| `client/` |a| `client/` |y| `client/` |e| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |a| `client/` |l| `client/` |l| `client/` | | `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |-| `client/` |b| `client/` |a| `client/` |s| `client/` |e| `client/` |d| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |n| `client/` |d| `client/` |s| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |o| `client/` |n| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |i| `client/` |t| `client/` | | `client/` |h| `client/` |a| `client/` |n| `client/` |d| `client/` |l| `client/` |e| `client/` |s| `client/` | | `client/` |p| `client/` |a| `client/` |t| `client/` |h| `client/` |
| `client/` |r| `client/` |e| `client/` |s| `client/` |o| `client/` |l| `client/` |u| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |e| `client/` |x| `client/` |t| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |c| `client/` |t| `client/` |l| `client/` | | `client/` |d| `client/` |i| `client/` |s| `client/` |p| `client/` |a| `client/` |t| `client/` |c| `client/` |h| `client/` |.| `client/` | | `client/` |T| `client/` |h| `client/` |e| `client/` | | `client/` |K| `client/` |D| `client/` |E| `client/` | | `client/` |G| `client/` |U| `client/` |I| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |K| `client/` |a| `client/` |t| `client/` |e| `client/` | | `client/` |p| `client/` |l| `client/` |u| `client/` |g| `client/` |i| `client/` |n| `client/` | | `client/` |u| `client/` |s| `client/` |e| `client/` | | `client/` |`| `client/` |o| `client/` |l| `client/` |l| `client/` |i| `client/` |e| `client/` |-| `client/` |9| `client/` |p| `client/` |`| `client/` |
| `client/` |(| `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |n| `client/` |a| `client/` |t| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |9| `client/` |P| `client/` | | `client/` |c| `client/` |l| `client/` |i| `client/` |e| `client/` |n| `client/` |t| `client/` |)| `client/` | | `client/` |d| `client/` |i| `client/` |r| `client/` |e| `client/` |c| `client/` |t| `client/` |l| `client/` |y| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |e| `client/` |r| `client/` |f| `client/` |o| `client/` |r| `client/` |m| `client/` |a| `client/` |n| `client/` |c| `client/` |e| `client/` |.| `client/` | | `client/` |F| `client/` |o| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |d| `client/` |e| `client/` |e| `client/` |p| `client/` | | `client/` |d| `client/` |i| `client/` |v| `client/` |e| `client/` | | `client/` |i| `client/` |n| `client/` |t| `client/` |o| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` |
| `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |,| `client/` | | `client/` |s| `client/` |e| `client/` |e| `client/` | | `client/` |[| `client/` |`| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |9| `client/` |p| `client/` |.| `client/` |m| `client/` |d| `client/` |`| `client/` |]| `client/` |(| `client/` |d| `client/` |o| `client/` |c| `client/` |/| `client/` |9| `client/` |p| `client/` |.| `client/` |m| `client/` |d| `client/` |)| `client/` |.| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |C| `client/` |r| `client/` |e| `client/` |d| `client/` |i| `client/` |t| `client/` |s| `client/` |
| `client/` |
| `client/` |-| `client/` | | `client/` |[| `client/` |P| `client/` |l| `client/` |a| `client/` |n| `client/` | | `client/` |9| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |B| `client/` |e| `client/` |l| `client/` |l| `client/` | | `client/` |L| `client/` |a| `client/` |b| `client/` |s| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |9| `client/` |f| `client/` |a| `client/` |n| `client/` |s| `client/` |.| `client/` |n| `client/` |e| `client/` |t| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |v| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |e| `client/` |v| `client/` |e| `client/` |r| `client/` |y| `client/` |t| `client/` |h| `client/` |i| `client/` |n| `client/` |g| `client/` | | `client/` |s| `client/` |h| `client/` |o| `client/` |u| `client/` |l| `client/` |d| `client/` | | `client/` |b| `client/` |e| `client/` | | `client/` |a| `client/` | | `client/` |f| `client/` |i| `client/` |l| `client/` |e| `client/` |
| `client/` |-| `client/` | | `client/` |D| `client/` |e| `client/` |n| `client/` |n| `client/` |i| `client/` |s| `client/` | | `client/` |R| `client/` |i| `client/` |t| `client/` |c| `client/` |h| `client/` |i| `client/` |e| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |t| `client/` |
| `client/` |-| `client/` | | `client/` |K| `client/` |e| `client/` |n| `client/` | | `client/` |T| `client/` |h| `client/` |o| `client/` |m| `client/` |p| `client/` |s| `client/` |o| `client/` |n| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |t| `client/` |o| `client/` |o| `client/` |l| `client/` |s| `client/` |
| `client/` |-| `client/` | | `client/` |R| `client/` |o| `client/` |b| `client/` | | `client/` |P| `client/` |i| `client/` |k| `client/` |e| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |n| `client/` |e| `client/` |t| `client/` |w| `client/` |o| `client/` |r| `client/` |k| `client/` | | `client/` |(| `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |e| `client/` |d| `client/` |i| `client/` |t| `client/` |o| `client/` |r| `client/` |)| `client/` |
| `client/` |-| `client/` | | `client/` |[| `client/` |S| `client/` |u| `client/` |c| `client/` |k| `client/` |l| `client/` |e| `client/` |s| `client/` |s| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |s| `client/` |u| `client/` |c| `client/` |k| `client/` |l| `client/` |e| `client/` |s| `client/` |s| `client/` |.| `client/` |o| `client/` |r| `client/` |g| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |n| `client/` |v| `client/` |i| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |t| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |g| `client/` |o| `client/` |o| `client/` |d| `client/` | | `client/` |s| `client/` |o| `client/` |f| `client/` |t| `client/` |w| `client/` |a| `client/` |r| `client/` |e| `client/` | | `client/` |c| `client/` |o| `client/` |m| `client/` |e| `client/` |s| `client/` | | `client/` |f| `client/` |r| `client/` |o| `client/` |m| `client/` | | `client/` |s| `client/` |u| `client/` |b| `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |,| `client/` | | `client/` |n| `client/` |o| `client/` |t| `client/` | | `client/` |a| `client/` |d| `client/` |d| `client/` |i| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |
| `client/` |-| `client/` | | `client/` |[| `client/` |@| `client/` |s| `client/` |i| `client/` |m| `client/` |o| `client/` |n| `client/` |f| `client/` |x| `client/` |r| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |s| `client/` |i| `client/` |m| `client/` |o| `client/` |n| `client/` |f| `client/` |x| `client/` |r| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |a| `client/` |s| `client/` |k| `client/` |s| `client/` | | `client/` |"| `client/` |w| `client/` |h| `client/` |a| `client/` |t| `client/` | | `client/` |i| `client/` |f| `client/` |"| `client/` | | `client/` |t| `client/` |h| `client/` |r| `client/` |o| `client/` |u| `client/` |g| `client/` |h| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` |;| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |o| `client/` |b| `client/` |s| `client/` |e| `client/` |r| `client/` |v| `client/` |e| `client/` |r| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` |,| `client/` | | `client/` |f| `client/` |e| `client/` |e| `client/` |d| `client/` | | `client/` |s| `client/` |y| `client/` |s| `client/` |t| `client/` |e| `client/` |m| `client/` |,| `client/` | | `client/` |a| `client/` |n| `client/` |d| `client/` | | `client/` |h| `client/` |a| `client/` |l| `client/` |f| `client/` | | `client/` |t| `client/` |h| `client/` |e| `client/` | | `client/` |g| `client/` |o| `client/` |o| `client/` |d| `client/` | | `client/` |i| `client/` |d| `client/` |e| `client/` |a| `client/` |s| `client/` | | `client/` |t| `client/` |r| `client/` |a| `client/` |c| `client/` |e| `client/` | | `client/` |b| `client/` |a| `client/` |c| `client/` |k| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |h| `client/` |i| `client/` |s| `client/` | | `client/` |p| `client/` |r| `client/` |o| `client/` |t| `client/` |o| `client/` |t| `client/` |y| `client/` |p| `client/` |e| `client/` |s| `client/` |
| `client/` |-| `client/` | | `client/` |[| `client/` |@| `client/` |a| `client/` |w| `client/` |s| `client/` |/| `client/` |a| `client/` |m| `client/` |a| `client/` |z| `client/` |o| `client/` |n| `client/` |-| `client/` |q| `client/` |-| `client/` |d| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` |o| `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |c| `client/` |l| `client/` |i| `client/` |]| `client/` |(| `client/` |h| `client/` |t| `client/` |t| `client/` |p| `client/` |s| `client/` |:| `client/` |/| `client/` |/| `client/` |g| `client/` |i| `client/` |t| `client/` |h| `client/` |u| `client/` |b| `client/` |.| `client/` |c| `client/` |o| `client/` |m| `client/` |/| `client/` |a| `client/` |w| `client/` |s| `client/` |/| `client/` |a| `client/` |m| `client/` |a| `client/` |z| `client/` |o| `client/` |n| `client/` |-| `client/` |q| `client/` |-| `client/` |d| `client/` |e| `client/` |v| `client/` |e| `client/` |l| `client/` |o| `client/` |p| `client/` |e| `client/` |r| `client/` |-| `client/` |c| `client/` |l| `client/` |i| `client/` |)| `client/` | | `client/` |â| `client/` |€| `client/` |”| `client/` | | `client/` |f| `client/` |o| `client/` |r| `client/` | | `client/` |a| `client/` | | `client/` |s| `client/` |o| `client/` |l| `client/` |i| `client/` |d| `client/` | | `client/` |o| `client/` |p| `client/` |e| `client/` |n| `client/` |-| `client/` |s| `client/` |o| `client/` |u| `client/` |r| `client/` |c| `client/` |e| `client/` | | `client/` |a| `client/` |g| `client/` |e| `client/` |n| `client/` |t| `client/` | | `client/` |i| `client/` |m| `client/` |p| `client/` |l| `client/` |e| `client/` |m| `client/` |e| `client/` |n| `client/` |t| `client/` |a| `client/` |t| `client/` |i| `client/` |o| `client/` |n| `client/` | | `client/` |t| `client/` |o| `client/` | | `client/` |b| `client/` |u| `client/` |i| `client/` |l| `client/` |d| `client/` | | `client/` |o| `client/` |n| `client/` |
| `client/` |
| `client/` |#| `client/` |#| `client/` | | `client/` |L| `client/` |i| `client/` |c| `client/` |e| `client/` |n| `client/` |s| `client/` |e| `client/` |
| `client/` |
| `client/` |G| `client/` |P| `client/` |L| `client/` |v| `client/` |3| `client/` |
# Ollie
Ollie is an AI agent runtime built around a 9P virtual filesystem. The runtime service, `olliesrv`, exposes sessions, agents, prompts, state, history, tools, and control operations as files. Frontends remain thin clients of that interface.
```text
frontends (shell, Acme, KDE, scripts)
│ 9P
▼
olliesrv
┌──────┼──────┐
sessions agents fs tree
│
agent loop
│
provider backends
│
toolsrv (9P)
┌────┴────┐
tools sandbox
│
bypass broker
```
## Runtime model
- `olliesrv` owns the in-memory 9P tree and session collection.
- Each session owns one or more agents. Agents maintain configuration, state, prompts, chat history, rendered context, usage, and cost.
- The agent loop sends context to the configured provider, dispatches tool calls, updates history, and repeats until completion or cancellation.
- Child agents are ordinary agents created through the session namespace and communicate through prompt/result files.
The 9P namespace is the API:
```text
session/
├── new create a session by writing key=value arguments
├── idx tab-separated session index
└── {session}/
├── plan persistent Markdown checklist
├── env session environment
└── agent/{agent}/
├── cfg configuration
├── ctl control commands
├── state current state
├── statewait block until state changes
├── prompt submit a prompt
├── chat conversation history
├── context rendered model context
├── systemprompt rendered system prompt
├── tools tool discovery and loading
├── usage token statistics
├── cost cost estimate
└── proc/ detached process output
```
## Providers, tools, and security
Provider backends are the model-facing boundary; the agent loop is independent of vendor APIs. Tools are external executable programs served by the separate `toolsrv` 9P process. Their metadata is discovered and loaded lazily, so the model sees only the capabilities needed for a task.
Tool execution uses the configured Landlock/landrun sandbox. Operations requiring an approved escape use the bypass namespace and broker, which applies policy and approval controls rather than providing an unrestricted escape.
Persistent memory is provided by OptMem through `memory_recall` and `memory_remember`; Ollie does not maintain a second memory-file format. History management renders context, tracks usage and cost, caps oversized tool output, and compacts older material when necessary.
## Frontends
Shell scripts, Acme, KDE components, and other clients create sessions, write prompts, and read files such as `chat`, `statewait`, `context`, and `feed`. They do not embed provider, tool, or agent-loop logic.
See [`doc/architecture.md`](doc/architecture.md) for component boundaries and [`doc/evolution.md`](doc/evolution.md) for the design history. See [`doc/usage.md`](doc/usage.md) for setup.
## Build
```sh
just
```

View File

@ -634,6 +634,16 @@ func (ag *Agent) SetRuntime(rt *Runtime) {
ag.runtime = rt
}
// SetCompactionModel sets the model used for context compaction.
func (ag *Agent) SetCompactionModel(model string) {
ag.runtime.CompactionModel = model
}
// CompactionModel returns the configured context compaction model.
func (ag *Agent) CompactionModel() string {
return ag.runtime.CompactionModel
}
// Queue pushes a prompt onto the agent's FIFO.
func (ag *Agent) Queue(prompt string) {
ag.fifo.Push(prompt)

View File

@ -21,6 +21,10 @@ func (ag *Agent) HandleCommand(_ context.Context, input string) bool {
if rest == "" {
return false
}
if strings.HasPrefix(rest, "compactionmodel ") {
value := strings.TrimSpace(strings.TrimPrefix(rest, "compactionmodel"))
rest = "compactionmodel=" + value
}
ns := os.Getenv("NAMESPACE")
if ns == "" {
ns = p9client.Namespace()

View File

@ -621,6 +621,14 @@ func buildAgentChildren(a *agent.Agent, s *session.Session) []virtfs.FsNodeDecl
}
return []byte("ok\n"), nil
},
"compactionmodel": func(args []string) ([]byte, error) {
model := strings.TrimSpace(strings.Join(args, " "))
if model == "" {
return []byte(a.CompactionModel() + "\n"), nil
}
a.SetCompactionModel(model)
return []byte(model + "\n"), nil
},
"clear": func(_ []string) ([]byte, error) {
if err := a.Clear(); err != nil {
return nil, err

View File

@ -28,11 +28,17 @@ func dispatch(handlers map[string]func([]string) ([]byte, error), data []byte) (
return nil, nil
}
parts := strings.Fields(input)
h, ok := handlers[parts[0]]
if !ok {
return nil, fmt.Errorf("unknown ctl command: %s", parts[0])
command := parts[0]
args := parts[1:]
if name, value, ok := strings.Cut(command, "="); ok {
command = name
args = append([]string{value}, args...)
}
return h(parts[1:])
h, ok := handlers[command]
if !ok {
return nil, fmt.Errorf("unknown ctl command: %s", command)
}
return h(args)
}
// stripMarkers removes [[[...]]] marker lines and source fence delimiter lines

View File

@ -64,8 +64,6 @@ filesystem:
- "{XDG_STATE_HOME}/nvim"
- "{HOME}/.vimrc"
- "{HOME}/.vim"
- "{HOME}/.emacs.d"
- "{HOME}/.config/emacs"
- "/etc"
- "/usr/local/etc"
- "/dev/urandom"

View File

@ -1,151 +0,0 @@
# Default execute_code sandbox configuration.
filesystem:
ro:
- "{XDG_CONFIG_HOME}/git"
- "{HOME}/.netrc"
- "/etc/gitconfig"
- "/etc/gitattributes"
- "/etc/ssh/ssh_config"
- "/etc/ssh/ssh_known_hosts"
- "/etc/magic"
- "/var/log"
- "/run/systemd"
- "/var/log/journal"
- "/etc/systemd"
- "/proc"
- "/sys"
- "{HOME}/.jenkins"
- "{HOME}/.psqlrc"
- "{HOME}/.pgpass"
- "{HOME}/.aws"
- "{HOME}/.ansible"
- "{HOME}/.ansible.cfg"
- "{HOME}/.jira.d"
- "{HOME}/.my.cnf"
- "{HOME}/.mylogin.cnf"
- "{XDG_CONFIG_HOME}/gh"
- "{XDG_DATA_HOME}/gh/extensions"
- "/dev"
- "{HOME}/img"
- "{XDG_CONFIG_HOME}/ollie"
rw:
- "{HOME}/.ssh/known_hosts"
- "{HOME}/pCloudDrive"
- "{HOME}/.pcloud"
- "{HOME}/.git-credentials"
- "{XDG_CONFIG_HOME}/git/credentials"
- "{XDG_RUNTIME_DIR}/git/"
- "{HOME}/.mcpt"
- "{HOME}/doc"
- "{HOME}/.cache/mise"
- "{HOME}/.locale/state/mise"
- "{HOME}/.gnupg"
- "{XDG_DOCUMENTS_DIR}"
- "{XDG_CONFIG_HOME}/.jira"
- "{HOME}/.m2"
- "{HOME}/.gradle"
- "/var/run/docker.sock"
- "{HOME}/.docker"
- "{HOME}/.pnpm-store"
- "{XDG_CONFIG_HOME}/yarn"
- "{HOME}/.yarnrc.yml"
- "{HOME}/.npmrc"
- "{HOME}/.ansible/tmp"
- "{XDG_RUNTIME_DIR}"
- "{XDG_DATA_HOME}/containers"
- "{XDG_CONFIG_HOME}/containers"
- "{XDG_CONFIG_HOME}/pip"
- "{HOME}/.pip"
- "{HOME}/.cargo"
- "{HOME}/.rustup"
- "{XDG_CONFIG_HOME}/nvim"
- "{XDG_CONFIG_HOME}/vim"
- "{XDG_DATA_HOME}/nvim"
- "{XDG_STATE_HOME}/nvim"
- "{HOME}/.vimrc"
- "{HOME}/.vim"
- "{HOME}/.emacs.d"
- "{HOME}/.config/emacs"
- "/etc"
- "/usr/local/etc"
- "/dev/urandom"
- "/dev/random"
- "/dev/null"
- "/dev/fuse"
- "{XDG_DATA_HOME}/ollie"
- "{HOME}/notes"
rox:
- "/usr"
- "/lib"
- "/lib64"
- "/bin"
- "/sbin"
- "{HOME}/go/bin"
- "{HOME}/env"
- "/proc/self/fd"
- "/proc/self/cmdline"
rwx:
- "{CWD}"
- "{HOME}/Qt"
- "{HOME}/.local/share/pnpm"
- "{HOME}/.local/share/pipx"
- "{HOME}/.local/share/aqt/"
- "{HOME}/prj/aicoder"
- "{TMPDIR}"
- "{PLAN9}"
- "{HOME}/.cache/uv"
- "{HOME}/bin"
- "{OLLIE}"
- "{TMPDIR}/ollie"
- "{HOME}/.pyenv"
- "{HOME}/.local/bin"
- "{HOME}/.sdkman"
- "{HOME}/go"
- "{HOME}/.cache/go-build"
- "{HOME}/opt"
- "{HOME}/src"
- "{HOME}/prj"
- "{HOME}/.nvm"
- "{HOME}/.please"
- "{HOME}/.npm"
- "{HOME}/.mcp-auth"
- "{HOME}/.yarn"
- "{HOME}/.local/share/mise"
- "{PCFS}"
- "{XDG_RUNTIME_DIR}/{WAYLAND_DISPLAY}"
- "{HOME}/ws"
env:
- PATH
- NAMESPACE
- OLLIE
- OLLIE_DEFAULT_AGENT
- OLLIE_SESSION_ID
- OLLIE_ELEVATE_SOCKET
- OLLIE_UNAME
- OLLIE_LOGSEQ_TOKEN
- HOME
- TMPDIR
- PLAN9
- JENKINS_USER_ID
- JENKINS_API_TOKEN
- JENKINS_MCP_AUTH
- JIRA_API_TOKEN
- BITBUCKET_ACCESS_TOKEN
- BITBUCKET_TOKEN
- BITBUCKET_USERNAME
- PCLOUD_USER
- EDITOR
- GIT_SEQUENCE_EDITOR
- DISPLAY
- DBUS_SESSION_BUS_ADDRESS
- PCFS
- SSH_AUTH_SOCK
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- XDG_CONFIG_HOME
- XDG_DATA_HOME
- XDG_STATE_HOME
- XDG_CACHE_HOME
- WAYLAND_DISPLAY
network:
unrestricted: true

View File

@ -6,7 +6,7 @@ description: Denote file format conventions for timestamped notes. Use when crea
# Denote File Format
Denote is an Emacs structured note-taking system by Protesilaos Stavrou. It uses a strict filename convention to encode metadata.
Denote is a structured note-taking system. It uses a strict filename convention to encode metadata.
## File Naming Convention

File diff suppressed because one or more lines are too long

View File

@ -1,137 +0,0 @@
# ellie — Emacs front-end for ollie
ellie talks to an ollie session through the `ollie-9p` CLI tool, which speaks
the 9P protocol directly over a Unix socket. No FUSE mount required. The
ollie-9p filesystem is the entire API surface — ellie uses nothing but
plain file I/O.
## Prerequisites
[olliesrv](../README.md) must be running:
```sh
olliesrv
```
## Installation
Add `ellie.el` to your load path:
```elisp
(add-to-list 'load-path "/path/to/ellie/contrib/elisp")
(require 'ellie)
```
Or with `use-package`:
```elisp
(use-package ellie
:load-path "/path/to/ellie/contrib/elisp")
```
Optionally set default session options:
```elisp
(setq ellie-default-session-opts '(("backend" . "ollama") ("model" . "qwen3:8b")))
```
## Quick start
```
M-x ellie
```
Opens the session tree (`*ellie-sessions*`), attached to the last-known
session for your working directory if it still exists.
<p align="center">
<a href="img/ellie.png"><img src="img/ellie.png" alt="ellie Emacs interface showing the Ollie session tree and chat window" width="75%"></a>
</p>
## Session tree
The tree shows all sessions organized by active/inactive state:
```
▼ Active
▼ myproject (2)
default [idle]
reviewer [idle]
▼ scratch (1)
0 [calling: file_read]
▶ Inactive
```
| Key | Action |
|-----|--------|
| `RET` | Expand/collapse header or session; select agent |
| `e` | Toggle expand/collapse |
| `n` | New session |
| `N` | New agent (prompts for profile, cwd) |
| `c` | Open chat buffer for selected agent |
| `g` | Refresh tree |
| `C-c C-c` | Send prompt to selected agent |
| `C-c C-q` | Queue prompt for selected agent |
| `C-c C-s` | Stop running agent |
| `C-c C-k` | Kill session or agent at point |
| `C-c C-p` | Show system prompt |
| `q` | Quit tree |
Sessions are addressed by name (`session/{sname}`). Agents within a session
are addressed by their auto-generated ID (`session/{sname}/agent/{aname}`).
The tree discovers both automatically.
## Chat buffer
Once an agent is selected, `c` opens the chat buffer (`*ellie*`):
| Key | Action |
|-----|--------|
| `RET` / `SPC` | Open input window to compose a prompt |
| `C-c C-q` | Open input window to compose a queued prompt |
| `C-c C-c` | Interrupt the running turn |
| `C-c C-s` | Stop agent |
| `C-c C-k` | Kill the current session |
| `C-c C-n` / `n` | New session |
| `C-c C-a` | Attach to a different session |
| `C-c C-p` | Show the rendered system prompt |
| `g` | Force-refresh the chat log |
| `q` | Close chat (stop stream, bury buffer) |
The input window (`*ellie-input*`):
| Key | Action |
|-----|--------|
| `C-c C-c` | Submit prompt |
| `C-c C-k` | Cancel |
Queued prompts are held until the current turn finishes. The mode line shows
`ellie:session/agent` and the current state.
## Creating sessions and agents
Sessions are created by writing `key=value` pairs to `session/new`. The
`ellie-new-session` command does this for you, injecting `cwd` from
`default-directory`.
Agents are created by writing to `session/{sname}/agent/new`. The
`ellie-new-agent` command prompts for an agent profile and working directory.
You can also create sessions and agents directly from dired — navigate to
`session/` (or use `C-c C-d` if you have a mount), open `new`, write
`key=value` lines, and save.
## Architecture
The chat log is append-only. ellie polls it on a half-second timer, comparing
file sizes. New content is appended to the buffer and ANSI color codes are
rendered. State is read from `session/{sname}/agent/{aname}/state`.
Everything goes through `ollie-9p` — there is no emacs-specific daemon, no
IPC protocol, no external processes beyond the CLI tool.
## Reference
- README: [/README.md](../README.md)
- Usage guide: [/doc/usage.md](usage.md)
- Technical whitepaper: [/doc/whitepaper.md](whitepaper.md)

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

View File

@ -70,7 +70,7 @@ Type `/` in the input bar to trigger:
## Architecture
ollie-gui is a pure 9P client. It spawns `ollie-9p` as a subprocess and communicates through the 9P filesystem — the same interface the `o` CLI and `ellie.el` use. There is no D-Bus, no FUSE mount, and no intermediate daemon.
ollie-gui is a pure 9P client. It spawns `ollie-9p` as a subprocess and communicates through the 9P filesystem — the same interface the `o` CLI and other 9P clients use. There is no D-Bus, no FUSE mount, and no intermediate daemon.
```
┌────────────────┐ ollie-9p read/write ┌──────────────┐

View File

@ -1,51 +0,0 @@
# Sample minimal-permission sandbox for execute_code
filesystem:
ro:
- "/etc/alternatives"
- "/etc/ld.so.cache"
- "/etc/passwd"
- "/dev/urandom"
rox:
- "/usr"
- "/lib"
- "/lib64"
- "/bin"
- "{HOME}/go/bin"
- "{HOME}/bin"
- "{HOME}/.local/bin"
- "{HOME}/opt"
- "{PLAN9}/bin"
- "{HOME}/.pyenv"
- "{HOME}/.rbenv"
- "{HOME}/.nvm"
rw:
- "/dev/null"
- "/tmp"
- "{NAMESPACE}"
- "{XDG_RUNTIME_DIR}/ollie"
- "{XDG_CONFIG_HOME}/ollie/memory"
- "{XDG_DATA_HOME}/ollie"
rwx:
- "{CWD}"
- "{OLLIE}"
- "{HOME}/notes"
env:
- NAMESPACE
- OLLIE
- OLLIE_SESSION_ID
- OLLIE_ELEVATE_SOCKET
- OLLIE_UNAME
- PATH
- HOME
- PLAN9
- DISPLAY
- DBUS_SESSION_BUS_ADDRESS
- WAYLAND_DISPLAY
- USER
- AGENT_ID
- XDG_RUNTIME_DIR
- XDG_CONFIG_HOME
- XDG_DATA_HOME
- TMPDIR
network:
unrestricted: true

View File

@ -1,88 +1,116 @@
## Tool registry: zero built-in tools
# Tool Registry
**No tools are compiled into the Go binary.** Every tool — including `shell` and `reasoning_think` — is an external executable loaded dynamically through the 9P filesystem. Tool definitions, schemas, and execution logic live entirely in the filesystem.
`toolsrv` owns Ollie's tool registry. No tool registry is compiled into `olliesrv`. The registry is scoped per agent, so each agent can load and unload tools independently while sharing the session's `toolsrv` process.
### Loading tools
## Discovery
Tools are loaded by writing their name to `session/{sname}/agent/{aname}/tools`:
The registry scans the configured tools directory for `*.meta` files:
```bash
# List currently loaded tools
ollie-9p read session/{sname}/agent/{aname}/tools
# Load a tool — becomes a native callable function
echo file_glob | ollie-9p write session/{sname}/agent/{aname}/tools
# Global catalog: all discoverable tools on disk
ollie-9p read tools
```text
$XDG_CONFIG_HOME/ollie/tools/ # default: ~/.config/ollie/tools/
├── file_read.meta
├── file_read
└── custom_tool.meta
```
The `tool_load` tool is itself a bash script that does exactly this — it wraps the 9P write in a callable function so the LLM can load tools during a turn.
A valid metadata file is enough for a tool to appear in the catalog. The executable is resolved when the tool is invoked. Invalid metadata is skipped. A tool with variants is unavailable when no variant matches the host.
### Agent autoLoad configuration
The registry reads metadata, resolves the selected command, and passes tool-call arguments as JSON on standard input.
Agent configs declare which tools to load at startup via `autoLoad`:
## Agent operations
```sh
# List tools currently loaded for an agent
ollie-9p read session/{session}/agent/{agent}/tools
# Load a tool
echo tool_name | ollie-9p write session/{session}/agent/{agent}/tools
# Unload a tool
echo tool_unload tool_name | ollie-9p write session/{session}/agent/{agent}/ctl
# List every discoverable tool
echo tools_all | ollie-9p write session/{session}/agent/{agent}/ctl
```
`tool_load` and `tool_unload` are also callable agent operations. Loading updates the agent's tool preamble and increments its per-agent registry revision. `toolsrv.loaded` and `toolsrv.rev` expose the loaded set and revision through 9P.
Agent profiles may specify startup loading with `autoLoad`. Discovery and loading are separate: a discovered tool is not callable until it is loaded.
## Metadata
A `.meta` file uses this structure:
```json
{
"autoLoad": ["file_read", "file_edit", "file_glob", "file_grep", "file_write", "tool_load"]
}
```
Each agent profile (default, copilot, explorer, librarian, navigator, taskmanager, theo) has its own `autoLoad` list. The `allowTools` field provides a secondary security gate.
### Declarative registration
Tools are executables in `~/.config/ollie/tools/`. Each one has a `.meta` sidecar
file declaring its JSON schema, documentation, concurrency class, tier, and
privilege requirements. The registry reads `.meta` files — it never inspects the
executable itself.
This is **declarative tool registration**: write a `.meta` file, drop an
executable in `$OLLIE_TOOLS_PATH`, and the tool is live. No server restart,
no config file, no code change.
The `.meta` file (`file_glob.meta`):
```json
{
"description": "Find files by glob pattern, sorted by mtime (newest first).",
"args": {"type":"object","properties":{"pattern":{"type":"string"}},"required":["pattern"]},
"description": "Find files by glob pattern.",
"prompt": "Full usage documentation injected when loaded.",
"args": {
"type": "object",
"required": ["pattern"],
"properties": {"pattern": {"type": "string"}}
},
"tier": "cold",
"readOnly": true
"scope": "read",
"outputFormat": "text",
"cmd": "file_glob",
"resetsCounter": false
}
```
Everything is sandboxed by default via Landlock. Tools that need to escape
request bypass explicitly (`"bypass": true`).
| Field | Meaning |
|---|---|
| `description` | Short catalog description. |
| `prompt` | Documentation added when the tool is loaded. |
| `args` | JSON Schema for tool arguments. Defaults to an empty object schema. |
| `tier` | Context retention tier. Defaults to `hot`. |
| `scope` | Tool scope metadata. |
| `outputFormat` | Output format metadata. |
| `cmd` | Command used to execute the tool. |
| `resetsCounter` | Marks tools that reset the relevant counter. |
| `variants` | Host-conditional metadata definitions. |
### Host-conditional variants
`readOnly` and `bypass` are not current metadata fields. Sandbox and privilege behavior is configured by the execution service and its policies.
A single `.meta` file can describe a tool that works differently on different
hosts. Variants are gated by match conditions (`binary`, `file`, `os`, `arch`,
`env`, `nenv`). The first matching variant determines the tool's schema,
documentation, and executable. If no variant matches, the tool is hidden from
the registry — it doesn't exist on this host.
## Command resolution
For a tool named `name`, toolsrv resolves the command in this order:
1. `$XDG_CONFIG_HOME/ollie/tools/name` if the local file exists.
2. The resolved `.meta` `cmd` field, returned as a shell command string.
3. `name` found through `$PATH`.
A `.meta` file can describe a co-located script, a system executable, or a shell command. Metadata-only tools are valid when their `cmd` resolves to an executable command.
## Variants
The first variant whose conditions all match is merged over the top-level metadata. Variant values override non-empty top-level values. Supported match keys are:
- `binary`: an absolute path or executable available through `$PATH`.
- `file`: an existing file or directory.
- `os`: the current `runtime.GOOS`.
- `arch`: the current `runtime.GOARCH`.
- `env`: a non-empty environment variable.
- `nenv`: an empty or unset environment variable.
A condition value can be a string or an array; arrays use OR semantics. Multiple condition keys use AND semantics. If no variant matches, the tool is hidden.
```json
{
"description": "Read system logs.",
"variants": [
{
"match": {"binary": "journalctl"},
"cmd": "system_logs_journald",
"args": {"type":"object","properties":{"unit":{"type":"string"},"since":{"type":"string"}}}
},
{
"match": {"file": "/var/log/syslog"},
"cmd": "system_logs_syslog",
"args": {"type":"object","properties":{"lines":{"type":"string"}}}
}
{"match": {"binary": "journalctl"}, "cmd": "system_logs_journald", "scope": "read"},
{"match": {"file": "/var/log/syslog"}, "cmd": "system_logs_syslog", "scope": "read"}
]
}
```
On a systemd host the model sees unit filtering and time ranges. On Alpine it
sees tail + grep. On a host with neither, the tool doesn't appear. One `.meta`
deploys everywhere. See [`doc/writing-tools.md`](doc/writing-tools.md) for the
full variant specification.
Remote toolsrv deployments receive the metadata and resolve variants on the remote host. The catalog therefore reflects that host's capabilities.
## Execution contract
The selected command receives one JSON object on standard input. A successful tool writes its result to standard output and exits with status 0. A failed tool exits non-zero. Structured content may be returned as JSON when required by the tool's output format.
Normal execution is sandboxed by toolsrv. The `--yolo` server option disables sandbox enforcement for explicit debugging or development. Bypass behavior is controlled by the separate bypass broker and sandbox policy.
See [`doc/writing-tools.md`](writing-tools.md) for authoring metadata and [`doc/tool-definitions.md`](tool-definitions.md) for metadata-only command definitions.

View File

@ -287,7 +287,7 @@ while :; do git diff HEAD --; sleep 5; done | tee >(o myproj/security write feed
## Other front-ends
- **[ellie](ellie.md)** — Emacs session tree, chat, multi-agent
- **Session clients** — shell, KDE, and other 9P clients
- **[KDE](kde-gui.md)** — plasmoid, standalone GUI, Kate plugin, KRunner
- **acme** — Plan 9 editor (scripts in `data/scripts/acme/`)

View File

@ -1,7 +1,7 @@
# Ollie monorepo build system
#
# Two variants:
# just Default (KF6): core, 9p, kde, emacs
# just Default (KF6): core, 9p, kde
# just kf5 KF5/Qt5 variant (Plasma 5.27)
#
# Build and install are separate phases. No sudo.
@ -241,8 +241,6 @@ uninstall:
rm -f ~/.config/autostart/org.ollie.olliesrv.desktop
# KDE (KF6)
just -f kde/justfile uninstall
# Emacs
rm -rf ~/.config/emacs/ellie
# Plasma env
rm -f ~/.config/plasma-workspace/env/99-ollie.sh
@echo === Uninstall complete ===
@ -259,8 +257,6 @@ uninstall-kf5:
rm -f ~/.config/autostart/org.ollie.olliesrv.desktop
# KDE (KF5)
just -f kde/justfile uninstall-kf5
# Emacs
rm -rf ~/.config/emacs/ellie
# Plasma env
rm -f ~/.config/plasma-workspace/env/99-ollie.sh
@echo '=== Uninstall complete (KF5) ==='

Binary file not shown.