From c6326bdd19604ffe26a4af1e2d77a770b772eefd Mon Sep 17 00:00:00 2001 From: Laszlo Fogas Date: Fri, 5 Jul 2019 15:30:25 +0200 Subject: [PATCH] Readme --- .drone.sh | 19 - LICENSE | 81 +- README.md | 331 +++++- docs/LICENSE | 1 + docs/administration/bitbucket.md | 70 ++ docs/administration/bitbucket_server.md | 133 +++ docs/administration/database.md | 48 + docs/administration/github.md | 78 ++ docs/administration/github_oauth.png | Bin 0 -> 157434 bytes docs/administration/gitlab.md | 66 ++ docs/administration/lets_encrypt.md | 38 + docs/administration/prometheus.md | 162 +++ docs/administration/proxy.md | 148 +++ docs/administration/ssl.md | 77 ++ docs/drone.png | Bin 0 -> 138938 bytes docs/motivation.md | 18 + docs/usage/bash_plugin.md | 49 + docs/usage/pipeline.md | 1400 +++++++++++++++++++++++ docs/usage/repo_list.png | Bin 0 -> 130729 bytes 19 files changed, 2603 insertions(+), 116 deletions(-) create mode 100644 docs/LICENSE create mode 100644 docs/administration/bitbucket.md create mode 100644 docs/administration/bitbucket_server.md create mode 100644 docs/administration/database.md create mode 100644 docs/administration/github.md create mode 100644 docs/administration/github_oauth.png create mode 100644 docs/administration/gitlab.md create mode 100644 docs/administration/lets_encrypt.md create mode 100644 docs/administration/prometheus.md create mode 100644 docs/administration/proxy.md create mode 100644 docs/administration/ssl.md create mode 100644 docs/drone.png create mode 100644 docs/motivation.md create mode 100644 docs/usage/bash_plugin.md create mode 100644 docs/usage/pipeline.md create mode 100644 docs/usage/repo_list.png diff --git a/.drone.sh b/.drone.sh index f82021cdd..c38654db6 100755 --- a/.drone.sh +++ b/.drone.sh @@ -1,27 +1,8 @@ #!/bin/sh -# only execute this script as part of the pipeline. -# [ -z "$CI" ] && echo "missing ci environment variable" && exit 2 - -# only execute the script when github token exists. -# [ -z "$SSH_KEY" ] && echo "missing ssh key" && exit 3 - -# write the ssh key. -# mkdir /root/.ssh -# echo -n "$SSH_KEY" > /root/.ssh/id_rsa -# chmod 600 /root/.ssh/id_rsa - -# add github.com to our known hosts. -# touch /root/.ssh/known_hosts -# chmod 600 /root/.ssh/known_hosts -# ssh-keyscan -H github.com > /etc/ssh/ssh_known_hosts 2> /dev/null - -# clone the extras project. set -e set -x -# git clone git@github.com:drone/drone-enterprise.git extras -# build a static binary with the build number and extra features. go build -ldflags '-extldflags "-static" -X github.com/laszlocph/drone-oss-08/version.VersionDev=build.'${DRONE_BUILD_NUMBER} -o release/drone-server github.com/laszlocph/drone-oss-08/cmd/drone-server GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '-X github.com/laszlocph/drone-oss-08/version.VersionDev=build.'${DRONE_BUILD_NUMBER} -o release/drone-agent github.com/laszlocph/drone-oss-08/cmd/drone-agent GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags '-X github.com/laszlocph/drone-oss-08/version.VersionDev=build.'${DRONE_BUILD_NUMBER} -o release/linux/arm64/drone-agent github.com/laszlocph/drone-oss-08/cmd/drone-agent diff --git a/LICENSE b/LICENSE index 04b10d8b6..fed1248b2 100644 --- a/LICENSE +++ b/LICENSE @@ -1,80 +1,3 @@ -The Drone Community Edition (the "Community Edition") is licensed under the -Apache License, Version 2.0 (the "Apache License"). You may obtain a copy of -the Apache License at +Drone-OSS-08 is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply. - http://www.apache.org/licenses/LICENSE-2.0 - -The Drone Enterprise Edition (the "Enterprise Edition") is licensed under -the Drone Enterprise License, Version 1.1 (the "Enterprise License"). A copy -of the Enterprise License is provided below. - -The source files in this repository have a header indicating which license -they are under. The BUILDING file provides instructions for creating the -Community Edition distribution subject to the terms of the Apache License. - ------------------------------------------------------------------------------ - -Licensor: Drone.IO, Inc -Licensed Work: Drone Enterprise Edition - -Additional Use Grant: Usage of the software is free for entities with both: - (a) annual gross revenue under (USD) $1 million - (according to GAAP, or the equivalent in its country - of domicile); and (b) less than (USD) $5 million in - aggregate debt and equity funding. - -Change Date: 2022-01-01 - -Change License: Apache-2.0 - -Notice - -The Drone Enterprise License (this document, or the "License") is not an Open -Source license. However, the Licensed Work will eventually be made available -under an Open Source License, as stated in this License. - ------------------------------------------------------------------------------ - -Drone Enterprise License 1.1 - -Terms - -The Licensor hereby grants you the right to copy, modify, create derivative -works, redistribute, and make non-production use of the Licensed Work. The -Licensor may make an Additional Use Grant, above, permitting limited -production use. - -Effective on the Change Date, or the fourth anniversary of the first publicly -available distribution of a specific version of the Licensed Work under this -License, whichever comes first, the Licensor hereby grants you rights under -the terms of the Change License, and the rights granted in the paragraph -above terminate. - -If your use of the Licensed Work does not comply with the requirements -currently in effect as described in this License, you must purchase a -commercial license from the Licensor, its affiliated entities, or authorized -resellers, or you must refrain from using the Licensed Work. - -All copies of the original and modified Licensed Work, and derivative works -of the Licensed Work, are subject to this License. This License applies -separately for each version of the Licensed Work and the Change Date may vary -for each version of the Licensed Work released by Licensor. - -You must conspicuously display this License on each original or modified copy -of the Licensed Work. If you receive the Licensed Work in original or -modified form from a third party, the terms and conditions set forth in this -License apply to your use of that work. - -Any use of the Licensed Work in violation of this License will automatically -terminate your rights under this License for the current and all other -versions of the Licensed Work. - -This License does not grant you any right in any trademark or logo of -Licensor or its affiliates (provided that you may use a trademark or logo of -Licensor as expressly required by this License). - -TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON -AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, -EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND -TITLE. +Files under the `docs/` folder is licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. It is a derivative work of the https://github.com/drone/docs git repository. diff --git a/README.md b/README.md index 3581240c0..281e707b7 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,326 @@ -## Yes, it's a fork +# Drone-OSS-08 -This repository is a hard fork of the Drone CI system. +An opinionated fork of the Drone CI system. -Forked at the `0.8.9` version https://github.com/drone/drone/commit/768ed784bd74b0e0c2d8d49c4c8b6dca99b25e96 +- Based on the v0.8 code tree +- Focused on developer experience. -## Why fork? +[![Build Status](https://cloud.drone.io/api/badges/laszlocph/drone-oss-08/status.svg)](https://cloud.drone.io/laszlocph/drone-oss-08) [![Go Report Card](https://goreportcard.com/badge/github.com/laszlocph/drone-oss-08)](https://goreportcard.com/report/github.com/laszlocph/drone-oss-08) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -Drone has been an open-core project since many prior versions. With each source file indicating whether it is part of the Apache 2.0 licensed or the propritary enterprise license. In the 0.8 line the enterprise features were limited to features like autoscaling and secret vaults. +![Drone-OSS-08](docs/drone.png) -However in the 1.0 line, databases other than SQLite, TLS support and agent based horizontal scaling were also moved under the enterprise license. Limiting the open source version to single node, hobbyist deployments. +## Table of contents -The above feature reductions and the lack of clear communication of what is part of the open-source version led to this fork. +- [About this fork](#about-this-fork) + - [Motivation](#motivation) + - [The focus of this fork](#the-focus-of-this-fork) + - [Who uses this fork](#who-uses-this-fork) +- [Pipelines](#pipelines) + - [Getting started](#getting-started) + - [Pipeline documentation](#pipeline-documentation) +- [Plugins](#plugins) + - [Custom plugins](#custom-plugins) +- [Server setup](#server-setup) + - [Quickstart](#quickstart) + - [Authentication](#authentication) + - [Database](#database) + - [SSL](#ssl) + - [Metrics](#metrics) + - [Behind a proxy](#behind-a-proxy) +- [Contributing](#contributing) +- [License](#license) -## The focus of this fork +## About this fork -The focus of this fork is +#### Motivation -- Github -- Kubernetes and VM based backends -- Linux/amd64 -- Some really good features that Drone 1.0 introduced: multiple pipelines, cron triggers +Why fork? See my [motivation](docs/motivation.md) -## Why should you use this fork? +#### The focus of this fork -you shouldn't necessarily. Paying for Drone 1.0 is a fine choice. +This fork is not meant to compete with Drone or reimplement its enterprise features in the open. -Check the issues and releases of this project if you are evaluating this project. -Also you can check the devlog to get the nuances: https://laszlo.cloud/drone-oss-08-devlog-1 +Instead, I'm taking a proven CI system - that Drone 0.8 is - and applying a distinct set of product ideas focusing on: -The project is currently used by one user, with 50+ repos and 500+ builds a week. \ No newline at end of file +- UI experience +- the developer feedback loop +- documentation and best practices +- tighter Github integration +- Kubernetes backend + +with less focus on: + +- niche git systems like gitea, gogs +- computing architectures like arm64 +- new pipeline formats like jsonnet + +#### Who uses this fork + +Currently I know of one organization using this fork. With 50+ users, 130+ repos and more than 300 builds a week. + +## Pipelines + +#### Getting started + +Place this snippet into a file called `.drone.yml` + +```yaml +pipeline: + build: + image: debian:stable-slim + commands: + - echo "This is the build step" + a-test-step: + image: debian:stable-slim + commands: + - echo "Testing.." +``` + +The pipeline runs on the Drone CI server and typically triggered by webhooks. One benefit of the container architecture is that it runs on your laptop too: + +```sh +$ drone exec --local +stable-slim: Pulling from library/debian +a94641239323: Pull complete +Digest: sha256:d846d80f98c8aca7d3db0fadd14a0a4c51a2ce1eb2e9e14a550b3bd0c45ba941 +Status: Downloaded newer image for debian:stable-slim +[build:L0:0s] + echo "This is the build step" +[build:L1:0s] This is the build step +[a-test-step:L0:0s] + echo "Testing.." +[a-test-step:L1:0s] Testing.. +``` + +Pipeline steps are commands running in container images. +These containers are wired together and they share a volume with the source code on it. + +#### Pipeline documentation + +See all [pipeline features](docs/usage/pipeline.md). + +## Plugins + +Plugins are Docker containers that perform pre-defined tasks and are configured as steps in your pipeline. Plugins can be used to deploy code, publish artifacts, send notification, and more. + +Example pipeline using the Docker and Slack plugins: + +```yaml +pipeline: + backend: + image: golang + commands: + - go get + - go build + - go test + + docker: + image: plugins/docker + username: kevinbacon + password: pa55word + repo: foo/bar + tags: latest + + notify: + image: plugins/slack + channel: developers + username: drone +``` + +#### Custom plugins + +Plugins are Docker containers with their entrypoint set to a predefined script. + +[See how an example plugin can be implemented in a bash script](docs/usage/bash_plugin.md). + +## Server setup + +#### Quickstart + +The below [docker-compose](https://docs.docker.com/compose/) configuration can be used to start the Drone server with a single agent. It relies on a number of environment variables that you must set before running `docker-compose up`. The variables are described below. + +Each agent is able to process one build by default. If you have 4 agents installed and connected to the Drone server, your system will process 4 builds in parallel. You can add more agents to increase the number of parallel builds or set the agent's `DRONE_MAX_PROCS=1` environment variable to increase the number of parallel builds for that agent. + +```yaml +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 + volumes: + - drone-server-data:/var/lib/drone/ + restart: always + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} + + drone-agent: + image: drone/agent:{{% version %}} + command: agent + restart: always + depends_on: + - drone-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} + +volumes: + drone-server-data: +``` + +Drone needs to know its own address. You must therefore provide the address in `://` format. Please omit trailing slashes. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + environment: + - DRONE_OPEN=true ++ - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} +``` + +Drone agents require access to the host machine Docker daemon. + +```diff +services: + drone-agent: + image: drone/agent:{{% version %}} + command: agent + restart: always + depends_on: [ drone-server ] ++ volumes: ++ - /var/run/docker.sock:/var/run/docker.sock +``` + +Drone agents require the server address for agent-to-server communication. + +```diff +services: + drone-agent: + image: drone/agent:{{% version %}} + command: agent + restart: always + depends_on: [ drone-server ] + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: ++ - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} +``` + +Drone server and agents use a shared secret to authenticate communication. This should be a random string of your choosing and should be kept private. You can generate such string with `openssl rand -hex 32`. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} ++ - DRONE_SECRET=${DRONE_SECRET} + drone-agent: + image: drone/agent:{{% version %}} + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_DEBUG=true ++ - DRONE_SECRET=${DRONE_SECRET} +``` + +Drone registration is closed by default. This example enables open registration for users that are members of approved GitHub organizations. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + environment: ++ - DRONE_OPEN=true ++ - DRONE_ORGS=dolores,dogpatch + - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} +``` + +Drone administrators should also be enumerated in your configuration. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + environment: + - DRONE_OPEN=true + - DRONE_ORGS=dolores,dogpatch ++ - DRONE_ADMIN=johnsmith,janedoe + - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} +``` + +#### Authentication + +Authentication is done using OAuth and is delegated to one of multiple version control providers, configured using environment variables. The example above demonstrates basic GitHub integration. + +See the complete reference for [Github](docs/administration/github.md), [Bitbucket Cloud](docs/administration/bitbucket.md), [Bitbucket Server](docs/administration/bitbucket_server.md) and [Gitlab](docs/administration/gitlab.md). + +#### Database + +Drone mounts a [data volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) to persist the sqlite database. + +See the [database settings](docs/administration/database.md) page to configure Postgresql or MySQL as database. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 ++ volumes: ++ - drone-server-data:/var/lib/drone/ + restart: always +``` + +#### SSL + +Drone supports ssl configuration by mounting certificates into your container. + +See the [SSL guide](docs/administration/ssl.md). + +Automated [Lets Encrypt](docs/administration/lets_encrypt.md) is also supported. + +#### Metrics + +A [Prometheus endpoint](docs/administration/lets_encrypt.md) is exposed. + +#### Behind a proxy + +See the [proxy guide](docs/administration/proxy.md) if you want to see a setup behind Apache, Nginx, Caddy or ngrok. + +## Contributing + +Drone-OSS-08 is Apache 2.0 licensed and accepts contributions via GitHub pull requests. + +[How to build the project]() + +## License + +Drone-OSS-08 is Apache 2.0 licensed with the source files in this repository having a header indicating which license they are under and what copyrights apply. + +Files under the `docs/` folder is licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. It is a derivative work of the https://github.com/drone/docs git repository. diff --git a/docs/LICENSE b/docs/LICENSE new file mode 100644 index 000000000..53c093f79 --- /dev/null +++ b/docs/LICENSE @@ -0,0 +1 @@ +Files in this folder are licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License. It is a derivative work of the https://github.com/drone/docs git repository. diff --git a/docs/administration/bitbucket.md b/docs/administration/bitbucket.md new file mode 100644 index 000000000..020e1686d --- /dev/null +++ b/docs/administration/bitbucket.md @@ -0,0 +1,70 @@ +Drone comes with built-in support for Bitbucket Cloud. To enable Bitbucket Cloud you should configure the Drone container using the following environment variables: + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + restart: always + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} ++ - DRONE_BITBUCKET=true ++ - DRONE_BITBUCKET_CLIENT=95c0282573633eb25e82 ++ - DRONE_BITBUCKET_SECRET=30f5064039e6b359e075 + - DRONE_SECRET=${DRONE_SECRET} + + drone-agent: + image: drone/agent:{{% version %}} + restart: always + depends_on: + - drone-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} +``` + +# Configuration + +This is a full list of configuration options. Please note that many of these options use default configuration values that should work for the majority of installations. + +DRONE_BITBUCKET=true +: Set to true to enable the Bitbucket driver. + +DRONE_BITBUCKET_CLIENT +: Bitbucket oauth2 client id + +DRONE_BITBUCKET_SECRET +: Bitbucket oauth2 client secret + +# Registration + +You must register your application with Bitbucket in order to generate a client and secret. Navigate to your account settings and choose OAuth from the menu, and click Add Consumer. + +Please use the Authorization callback URL: + +```nohighlight +http://drone.mycompany.com/authorize +``` + +Please also be sure to check the following permissions: + +```nohighlight +Account:Email +Account:Read +Team Membership:Read +Repositories:Read +Webhooks:Read and Write +``` + +# Missing Features + +Merge requests are not currently supported. We are interested in patches to include this functionality. If you are interested in contributing to Drone and submitting a patch please [contact us](https://discourse.drone.io). diff --git a/docs/administration/bitbucket_server.md b/docs/administration/bitbucket_server.md new file mode 100644 index 000000000..46595df25 --- /dev/null +++ b/docs/administration/bitbucket_server.md @@ -0,0 +1,133 @@ +Drone comes with experimental support for Bitbucket Server, formerly known as Atlassian Stash. To enable Bitbucket Server you should configure the Drone container using the following environment variables: + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + restart: always + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} ++ - DRONE_STASH=true ++ - DRONE_STASH_GIT_USERNAME=foo ++ - DRONE_STASH_GIT_PASSWORD=bar ++ - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82 ++ - DRONE_STASH_CONSUMER_RSA=/etc/bitbucket/key.pem ++ - DRONE_STASH_URL=http://stash.mycompany.com + - DRONE_SECRET=${DRONE_SECRET} + volumes: ++ - /path/to/key.pem:/path/to/key.pem + + drone-agent: + image: drone/agent:{{% version %}} + restart: always + depends_on: + - drone-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} +``` + +# Private Key File + +The OAuth process in Bitbucket server requires a private and a public RSA certificate. This is how you create the private RSA certificate. + +```nohighlight +openssl genrsa -out /etc/bitbucket/key.pem 1024 +``` + +This stores the private RSA certificate in `key.pem`. The next command generates the public RSA certificate and stores it in `key.pub`. + +```nohighlight +openssl rsa -in /etc/bitbucket/key.pem -pubout >> /etc/bitbucket/key.pub +``` + +Please note that the private key file can be mounted into your Drone conatiner at runtime or as an environment variable + +Private key file mounted into your Drone container at runtime as a volume. + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} + - DRONE_STASH=true + - DRONE_STASH_GIT_USERNAME=foo + - DRONE_STASH_GIT_PASSWORD=bar + - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82 ++ - DRONE_STASH_CONSUMER_RSA=/etc/bitbucket/key.pem + - DRONE_STASH_URL=http://stash.mycompany.com + - DRONE_SECRET=${DRONE_SECRET} ++ volumes: ++ - /etc/bitbucket/key.pem:/etc/bitbucket/key.pem +``` + +Private key as environment variable + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} + - DRONE_STASH=true + - DRONE_STASH_GIT_USERNAME=foo + - DRONE_STASH_GIT_PASSWORD=bar + - DRONE_STASH_CONSUMER_KEY=95c0282573633eb25e82 ++ - DRONE_STASH_CONSUMER_RSA_STRING=contentOfPemKeyAsString + - DRONE_STASH_URL=http://stash.mycompany.com + - DRONE_SECRET=${DRONE_SECRET} +``` + +# Service Account + +Drone uses `git+https` to clone repositories, however, Bitbucket Server does not currently support cloning repositories with oauth token. To work around this limitation, you must create a service account and provide the username and password to Drone. This service account will be used to authenticate and clone private repositories. + +# Registration + +You must register your application with Bitbucket Server in order to generate a consumer key. Navigate to your account settings and choose Applications from the menu, and click Register new application. Now copy & paste the text value from `/etc/bitbucket/key.pub` into the `Public Key` in the incoming link part of the application registration. + +Please use http://drone.mycompany.com/authorize as the Authorization callback URL. + + +# Configuration + +This is a full list of configuration options. Please note that many of these options use default configuration values that should work for the majority of installations. + + +DRONE_STASH=true +: Set to true to enable the Bitbucket Server (Stash) driver. + +DRONE_STASH_URL +: Bitbucket Server address. + +DRONE_STASH_CONSUMER_KEY +: Bitbucket Server oauth1 consumer key + +DRONE_STASH_CONSUMER_RSA +: Bitbucket Server oauth1 private key file + +DRONE_STASH_CONSUMER_RSA_STRING +: Bibucket Server oauth1 private key as a string + +DRONE_STASH_GIT_USERNAME +: Machine account username used to clone repositories. + +DRONE_STASH_GIT_PASSWORD +: Machine account password used to clone repositories. diff --git a/docs/administration/database.md b/docs/administration/database.md new file mode 100644 index 000000000..0bc1d9a21 --- /dev/null +++ b/docs/administration/database.md @@ -0,0 +1,48 @@ + +This guide provides instructions for using alternate storage engines. Please note this is optional. The default storage engine is an embedded SQLite database which requires zero installation or configuration. + +# Configure MySQL + +The below example demonstrates mysql database configuration. See the official driver [documentation](https://github.com/go-sql-driver/mysql#dsn-data-source-name) for configuration options and examples. + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + environment: ++ DRONE_DATABASE_DRIVER: mysql ++ DRONE_DATABASE_DATASOURCE: root:password@tcp(1.2.3.4:3306)/drone?parseTime=true +``` + +# Configure Postgres + +The below example demonstrates postgres database configuration. See the official driver [documentation](https://www.postgresql.org/docs/current/static/libpq-connect.html#LIBPQ-CONNSTRING) for configuration options and examples. + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + environment: ++ DRONE_DATABASE_DRIVER: postgres ++ DRONE_DATABASE_DATASOURCE: postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable +``` + +# Database Creation + +Drone does not create your database automatically. If you are using the mysql or postgres driver you will need to manually create your database using `CREATE DATABASE` + +# Database Migration + +Drone automatically handles database migration, including the initial creation of tables and indexes. New versions of Drone will automatically upgrade the database unless otherwise specified in the release notes. + +# Database Backups + +Drone does not perform database backups. This should be handled by separate third party tools provided by your database vendor of choice. + +# Database Archiving + +Drone does not perform data archival; it considered out-of-scope for the project. Drone is rather conservative with the amount of data it stores, however, you should expect the database logs to grow the size of your database considerably. diff --git a/docs/administration/github.md b/docs/administration/github.md new file mode 100644 index 000000000..929f1131d --- /dev/null +++ b/docs/administration/github.md @@ -0,0 +1,78 @@ +Drone comes with built-in support for GitHub and GitHub Enterprise. To enable GitHub you should configure the Drone container using the following environment variables: + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + restart: always + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} ++ - DRONE_GITHUB=true ++ - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} ++ - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} + + drone-agent: + image: drone/agent:{{% version %}} + restart: always + depends_on: + - drone-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} +``` + +# Registration + +Register your application with GitHub to create your client id and secret. It is very import the authorization callback URL matches your http(s) scheme and hostname exactly with `:///authorize` as the path. + +Please use this screenshot for reference: + +![github oauth setup](github_oauth.png) + +# Configuration + +This is a full list of configuration options. Please note that many of these options use default configuration values that should work for the majority of installations. + +DRONE_GITHUB=true +: Set to true to enable the GitHub driver. + +DRONE_GITHUB_URL=`https://github.com` +: GitHub server address. + +DRONE_GITHUB_CLIENT +: Github oauth2 client id. + +DRONE_GITHUB_SECRET +: Github oauth2 client secret. + +DRONE_GITHUB_SCOPE=repo,repo:status,user:email,read:org +: Comma-separated Github oauth scope. + +DRONE_GITHUB_GIT_USERNAME +: Optional. Use a single machine account username to clone all repositories. + +DRONE_GITHUB_GIT_PASSWORD +: Optional. Use a single machine account password to clone all repositories. + +DRONE_GITHUB_PRIVATE_MODE=false +: Set to true if Github is running in private mode. + +DRONE_GITHUB_MERGE_REF=true +: Set to true to use the `refs/pulls/%d/merge` vs `refs/pulls/%d/head` + +DRONE_GITHUB_CONTEXT=continuous-integration/drone +: Customize the GitHub status message context + +DRONE_GITHUB_SKIP_VERIFY=false +: Set to true to disable SSL verification. diff --git a/docs/administration/github_oauth.png b/docs/administration/github_oauth.png new file mode 100644 index 0000000000000000000000000000000000000000..f37b19a74201ca9dc9c04c54f8ca0fd06e859bff GIT binary patch literal 157434 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 HjeRY2hsVU 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%0A;aqEk^Sl(9 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%0AgbO#Q z11y3Xl))i@P}A%+7Q*iQSD++MIgrfF6gr$$_CM@56@khYNBUmAp)G?mP&QOt3J%Ow zIp=z%T|jtKR}VmNqe;f~y7M-N-Krm+X@ipu4#*=_rvP}ctnvhG0!p5TJ-VfGfGTTz zr5x0asS<;VOb3EIrL*TdlXNceO^skLFWT_jaL40y*^0@~va0$jUI`q2CM>I;fWx3@ zVixRW>QHC7CXA)fK6kwIYmbK5gZ7Wj5?B3wR&@hmE_ zHKvJQPSEvo-7T^9EIJE!{fL{cFa-s9?Nh=(2)%*li}f#@&*e5ScmJ33#47jK4hMlE z1rJ)WRlo^>P|$i>1NcCmpXgD0>^IDmfC8V|apALoM~zt;fME+Qp1|xWM31jx?b@SR z2>65?XLs73oNQ;DYk7hlaD%F~%cs)73^n!MhHJk&y)lMy2YNpgavo`?=?)Zq0rATu zi={=UCz!Ve_VU-nnD8Tr;CmC+Lht-HL((T^0SKlDG=@8Dy7}bX@bi~)&jy-LDOuMS z_9Q+khACyBr*mBf9oRR6<)4ElhF&b#$J*GRQ|r4tPsaMaoE&G4r)x@ez54tV zcTQJO31)B>IHt}6Q-0Lb{x+=sc+V}|IElOAfrGUI7?YL{&H<5u8aSSs3rVr9JrKl2 z0G(-|r^wBCFejxaodsGol|cYhR+}UJ`%rNtJWy~ai}wa<+DPNlLpXr)@r4CNbr=O8 z8m4zk-HHm1Cy|2i?ezUdUThWbMxZ|VF7k<(s6Pvq>qT!=AbJPzau{TfZvWZB@Z`ZkU*&UJkJG`2pGo z?!pX{LTsbSVGx%})9Q=LFI+`{2R`kF>zkuCP&1|u9e!}o08n`f2!N#eAZyW)=<3)O z5;W^Air4izGzVRAwO7Tz7c9G)vP!dwqyPy-nf4UltA}8D2JA)7xjn(dWsGf&8|Hq9 z{Oz&Qz(k74hbf-l5YH0;o|U0JP4IFCkZ>V5UW@u>llnc3Pf7Va>*!p~ZZ98&6FJUg zNC}`3Nt+y<+b9)8nEg2le{a^kRF^BKHwREtN@AhHQ8#=+%}cCn4Gdw~wiQK!9EUGc zF?_eh`nAQgN?|@IOPPLHh0Jve(SO-#(>uA3m>f+MRb3ICD`Y5h(DhPm8%P~n)u z=PK<62Y#z0dKbORbzds9F^i^bxQUmjeY(6ldO6=rGIy--S>^I1W&Ecp=aVC%XGw}} z+3Em#t}(tpl_&m0EqZt2OS!o(d8sAQdw>dtnh03jY3=pukWX=~l51JsmLx|(y!1aoGKhd-e+X#0VHM~K!sPI4% z>MoJ5+>R=sTjLQ4hKiQWhjzZ1!@l}6*CMJXigMkd6d~-aqV*V%O}$p)SqeOfdXI0x z6(934fL=AzpDEHf_`Kx)bm#1y0aXt~l5LIqJa^H4*nT2jBbF%pX8nDI5oj?;lMIkJ z8c5T@8Z>M_r{bmc|LxZsJ|2ua`5%W5lrhj!#ydjs8 z#r*X=#ettlfOT)+kuBl-tNinFAJAPBdt4uZ< zO3f3Q$!1#E6X@g?BiYJ{U}YW*SUHx}oN`>LEePMl-~zSJW>eu1e@Hux3zNWkHaRbcIQrerSlAz&BCTrYK^-7$Rp!Z#S;}DlQM|vBz;F8}ue$NO$GF=Z-+x zL7&$G9EQ8jI2nh6^DWCTws$?7tdcV(T0)@arx3!4J5GpXKv>MR^Y^~Qr@gjus#AfsWgS~GU=k&ikF+H+dgqj^~<>G~`a$AUF zF%~yPN5D8YBL4ANhh_gK^=o56zWTISiqnAnZ*?aM3(+F)wH33PXb>JOfm?dg@@hp| zSA)2QrqT4!yAe8rs}(a>_-}Zbz5-iZ@vGiP!GE2T0?Q)U=5Fw#F#hx7=JN(#&>AEm z$WPG=wBsrkJo*|jj1@e%IZ#c79)Pp(qW0xYP;%_Jn~LN&@nxe}(0}K$ZlSA5YS&3o z{XR!#CN`cs%VbBDmnV@4Am!v7AUX_(hok-3~z3c z8@3ON@tX*FV0^qf?O6Q=#v6(6H>M~}Ty_Ec|K-P`(zEHD?Hi8=(HwA3 z!|;@r6JW!i@`~j336CKggLoz8V44Xl7f_g#)TF@;cZG$_>50SN0K>#0c=K92$+HL@ z-JiY$-`3O5)B*rSR4LiUfXP^VPpwC8b48BE(g>%V{=L(|gb&Y&9a0u%YhRG`O?UtW zeJai$TEA7do|;t39Yd6N-}8`Tff&{Ey<-3*sW5c`XEHtPo-}kSN$lBH7$ZX!ZzZd$4w&ujY8y(;vuA zs08w*SfU89M;}L5zD}lACIJi(@Ccx{ZXR^FO4#ifB)R^@HSEk8+s+!sW8bg>)^VeB zjro_kiOrh+%k56YzPgl#(7%-fI*fwG_yd}%2{^#WHt1-*Oib!5 z^tn#B#9Fn$K|inUx+vi}p~6kb0xeP*)~gAw6dO15!{N3_{I@H zOnC=ex?S5y=@z6!^gI8 z?6E{RPKn!h19DA)d7Ox4v6WRnE8Y#Nm$hA|7}`V3uEY3byZI8z5nemlG>z?vuhZ+t zX>XVk5XP9Dx2>Xxk`!UrUtTAtA+F4z#OO{sfEYA(zvT&5m%a)UpvY@{amfgy^Te)! zMo`OUb%Cusw$0>-1yyOBEK9n>(LY|OuGGpii>c4BgD!+!ed>w3RiPYLeE3nr>yzA~ zFY$8Ix%G2FFW^{nb^V?%Azz&l=gke2Il{jB)bB2wk}0bp9Qmd3`I2s|A!jX8S)j`h z^;7Mw_z#~#e6QDiK|Dvg=P;Fj4BZqe`_a8p$y|RVxPf{&ZP4rX#X^TeUyK$j5O#y4 zZc+woR;En9eUO<{K3D#UD|Gco$>5aypnQj%1f|1R`F|;kSCPIqM zhI^}yP#_UA=)L#R=U(N7Xlw@J7t)1;1AdAwpt(;$VoqmRKl#Zl+O7(&;&imdJBgQE z0Y+C)Hqv*CO_V`ZQ1P4A#x`2~fI(I_rD2=yNMq2$roiUTLgb+UP}gFz?Zl36Wwzq_ z++jaKKj;s>OzkEZ7Bfe~HEsbfRi3dT(uLED9rQw}E+4*_#HO4o1KhOf>1)?R&keH` z_$}%`V!NV|d)PFE_!Etk)6Cigm%Ov7^;i}qUkz3(9~G7%>s45sdh}uQ&8jatbN&n^ zi?Qkc?W#$InnqrKuCUe=^ z8E2eGx`od;j8hp;xvAvYb&x^ms`%Tqz5CK8oe^ zkqS!IOfOYf(5Ll5wvCC$r52jHrlA~Tw&wKpT^{+kGh#coM<@ojCRSxSoY7rnVPBq+ zeHck@$663?nEk+HIK1O&+=TSr#zxYHH%^}Cv6EpA=GM<+ye-lS%spl_s5qrqU`J)8 zyDV{are9a9@rW(;a7Q#1t(_s(+!8d3RIy&Z@ejojEMBDjI1nwZx3l87! z*=RaAzZ#ASdu#AnKTQ2(CKS&%_8O^S$3Yv}Ub)-WRmaEYfuv4qr?2R5cBm0x^@wyp z>J5`uh>zaPL@=8DH=us$ijV7xOUuA^{YX=($$-SylSJc(BHtxa-}G7uX^dHuBB;#R zRHCWT_LMqWWL&_UY7kRxALkyI0=0gy(7}g7X*wN~;Xvrm7Nmdm;{Z8oP_BndfX}AD zhO2zF>DRZsQbSU~c5z}{nbEXi^n}n)6m-K4qI}$ z5jHP{KmQLpp@2JK*gWN)Us-@pbA;2*8-^tOd_C#|BR2Aee=BYqI_f-$OTW{zt0cE$ zgCo~`unMHFCYp3SA)IyXJEUZ5yQALOOF=xBKa&F7`*AuHYvZq!e!O~#nAukEkR+E$ zjBqLxY16BXj1XWbBu<+lfcV#|!p%(J<* zxf}fJ(c~AZcSWYFS5lp=DD3ZHg^g9vj^p$PZFk9gRq$GG^4#&)>Teu;U9q(JHoWnm zAGC7P7-fu%LIrn5f}Bd|-g3+vvnYc^jy=I@_zw@m1O zx$+nehpC4J6Rx@T#T#*_jj|U`4&MqSDUx&TcZnfotmC&bFzb6%Q&O-O+-u5?urx+A z{g+2mC#k2yOZFmT>si)VXXGo>np4xyo&75OgwI*`IM7-8gP0eww|LHjm@(aYTa5A9 zeaLrudyyT-hN4_AM&PRKf4Zw|9 zjpOT4`IU1pVUa>xRe0&u>BuX1rGz~x+xOYjxt5;6{HQnhu6xGmm{XjUkGflj<$JaI z9XkUCw8ACZ9@gLpB4ORg(#WCs^-u?!>n3*sXh++fl+|CB8mLZmnW5H2G_^_t$hwH3 zoH#P+it9rjtjI4RXe1B8-1Ao^aNHjdQR=KTt4y~$JKY&D90+N&X_*V6G&~%;*IsxV zc1SB~!!WePGacvl|JZxWs4BO9eON^#q!FbNP*Q2>1_5bAN;;Py-7QFpgh+>k2uMhG zcPzS7YJs$L*MHvo?0wvi`#I-)dOy5lJY(C+!6g%;G6P+<#)9DBr zo}EWyPrBY8X-zH2nk2$KjM%C=&5Mfx(+WJ(jOv~ryXD`PRos>wWhNSNrfwOJMi7PF zGF1lQ)qskoHj0O!)SDGESnk`jMBfdLK8w0_H`Hab+=8wP+RVPbsng4pSv2nN8n|#X ziC*qiE)gp3wj*O6ow6v}K^u#qofl`~CLD1#oG}A#zf~aZ!W(Mr_>HKovJ`_)36IcD z0vxBpR88hteb~!ZD9NTuS#mzaEto&{Ei{VlKcMC%AqwxrcG@){`3(94_D$r#bvzFC zy_~2rygAs)#1bFwJi!9M8WXY4X|>K_z-uI{3towpJ1Tt7xMR0SEH(J3$I7$#bQV~> z#53n0$3A)1v1;c+CE!j^GR0K@onadRfdAvlUA-J6%hecU9#rxPuX@wEM! zFMQ~&iXy^jZDqbQwe$-N2ifiSTzlsdT>9if>b2a!{vqssN? z#pHCiVP%oGcm<2UOPjkzP3dt4mX@Y%EW(Yc>pf-9q9};Wr+f`V2$)u4qExhOoDG~G zEV@_QYe`z3M6AazEv;DC(6GzPsc>D4KmWOUY#H~HGr^_&dzzc-JKQ2xeyifh_K0p* zw*TI=W;w4<+^bHTAZ8^YMVft9R1N{`w56oj{x4=(y2}2d{aQ#zJ-TSn8T9O zt2o#gtS-Tn)*YM0WV=?FZ_XX3PO{6fUo|OFG9ff`l9ny4Gq|`ic;>f8YwUXnrA|r0 zQT%)_ti!y)>}){#W$>;!c5`=khL@pNF(J!KEW9dD@x9PZR0y>tp|o+)OIbl0Dj?Ny z&?C{sW}$Xbjlm9C#^pd)dwRtwyF5O|!G=aMW;SL1Ye&W#ROCk!>Ue!J%};iqo~Ucs zDyKGXfFiLRB=f&^TlZM>f~l;!!}W8n%hZSNQhAPsWbPcQ7@ zZ=9_?eYTY{NLV{n_TOnxMz!TXCx(7wW3g@g${2aN&Y)&8I$GXU!-j%oOrsqU!P1WK zFpr7c+Za@~yj`hnTzRpt7+t$*H*=S9d1_R!YEm&z7k?;kcQ4d4%rH&2!+3qrCMHp2 zZIS>sZo?2$oTGK3Jt`+u7H&B_`F(2atao|h9DWKJlUEA- z*m?C~U)zSQIKxvhI&F22?o`Z?F4ARjciG|r`_MU=Mn>PxuA}XV%g@X>2l8s$^SmpC z$dh(hA}05V4Y$2tBJIv3Ji^#WqLR$`LOw%bkryVxvz2GV*}kXquf324tp_OxO4HI! zNu#N-QK=x-C^2Ooj#xV~xRdrY1!TClq_84?)M0QNvAncfVWV7Z%(Y0MSg^s_0rLON z79L-JzD2&hb|$4uoVORv;Ly_g#(KC#$Yi?h(MC}yH-o|J%-Dn8M?*;1`~{BO#%WYV z>}qQSD0>ohOHqfd=Fiq}mT0k1tfH6s#3%WyOM2#TZT3oa&)^oHc3UWuG;SSfU{x7} zy}=OGz8<#J=_X>+_SR_34VpX06SefQ*i2)T7s}9H>eFm` z8aKe~D$!mz8R%4LUfG)-DkeWvnnR9TubZgfmZc@Xh@F$*X`a@tC3*7w;9EcKh^?E{kuU z&9(LjTU-1jLB4yio+x-UR92Ua5c(?)Uo_|4+T)bN4evx_wPgA6Twe5#1A5WgV#sE6 z%ji@*&(0)rkNkmr=+-}OR&fAY8Z?>0ZYiVqMsKm{YJfRJ^_oVXt7^@fTaTtt3qxRrIFC+3V;a4- zrLNqqqYa~`h6wDP?pZl+>V zum$8@3}wMc0~6NcPMlWXiA6&e8&x-5Ms0e9xMgDgtK{KoQ3NrBX4X)i3!%f;=p)KxmON7f8VTpwst?Y)Lc z*1WFzQJWeb;7u@LtoNGq(3=LsEVfaqO>n9ERoDmy053Z(Zjv?8NlruM1_*i*88LD+ z5$offJxhem@JiPaed&ujHMGlj#?&@SV9jxz=kNXqq#Kaw& zj`k%?vQX+7r-Q~&lAJ*fJp2DJ86XC+- z8?Z3yj~_x7c&<1FYOXG}^3~9k^2?g@!<#G7Zce`R%}p*l93Y@&Z^hB-UF%!w^I#yM z=qjXwx9N{_$D&r6Yx9Pd$c-h!bW}bfBs`p>_Y%9gpMKB$oIod2f5^MG6|Gb@k-OLJ z((hLGu9--D3Zj(j6fSrx5_jkeMD5UpU8E~h!{a|aH%=gXp+=cg^P@}y9$MkEk5ach zb68d`w}J>4Ba8;P5J*xYkola1mpdm92b?T%#wNA8t-#J`dXfmx`*qeJ-RVC+U> zgzQp#s_Gr-!4#+c0j^W-0;|syvdd3QyV#Rpu%SOPw8Rr*F+K7zEJdDr^s>(!oym7u z2!%a9;VA;eRg2)Yw=cD3iQ;fK(Roe4&=G>%?BAn#msx~lMI@~kl#b3)E#5te>EFp9`r ztVOmJ>K7A$29@oF%Zy3v3FyCTB#ViV26J{y17#aCq<*MuGQ&3m6BFw|xZJE*xT68^ zTOMU%EOP?#C>U0t%F21iIHM)avY@=ya7hAAu8BWiW`Xqy1S1o_nIUC<#QO~W-00O)fB7_Cj1YKlu`S*5Cm6}Yl!c4B> zC4JdXwr;doo9~L)UmpfB=6&_t_MzCHeB!_DRJZp@z=wBds>#Jv1D&YDI4z5cX5ls-s)08NsyCPHB&5QUtl210Xl3#g zB6cd0$)#!UAkd4OL3!xAYZn`a|G+(#wk3-~+q2iNDYR{hBIqg#4m$5@nk(_~v)7xW zcDuesYkRJWI`C5gMC)sy>W#2rUMyNFNe^{HBev{UG7o5deR>2HW#aLdf7&m_oe>|9 z+9$>bS>7_uAKLkTBO$9~g7Xu#)A$Fn8{yFwF~>}FVwU%6NE|_#AA`&;^tuZx`2oop z%7BW-%z5RbGov%HjxQE=@)&Bp&Txwa0$c9Buhf)BTT=Bq2C!?P<_nRAFIj-M=b zu?L^zdu+a@?N+sX|Gqo6R*e|Hi{ik7?bd_|eP)m5lf`A5zQ#~e9T_@}a+}An_W`-P zLCV(+&3r%HORmm4x!)alZ&g$GY}mQ6fgCZ+2mWSRKzNw7oDfh6=>1`D{y`iiVReoBrqyt-cn zUrqQ)J4GR#`7~m~x$Ov*v23zT^S!gh7yz+;aqX1RVG~IPx7P$#Q8WID&wi`z61s!2 z!P8u(*Nn7%U03&Za%a^i58rSP%BL%ou!>sxiY$n0<^P5r{6Xwp=*VB-cSG|bhOHMf zdw1O9(9{RXXdejT-`ofCad`*9{4+2lVZksjr}I}!IHtk3m%>cSL|u=YDRiz#hJ}4< z#s$+m3qo*_eR}-v=|~;o-zcW%!Pjrb1N|A?f;bJGsU%XWvYpD_s- z(k-Uwss=844Isnh%qfOPlltXmMCq++BbJuj4vz&l3YuL*6PzW<)X9*hYCPm?Xqm?g z*B+n@7QRH%rf}bGJjl@}lY3w=f>!mO^R^Y~lh?V063l!iLvNNCb+aHG=uB~iw?KeN z`^24{n%O8EKW^ZLeb!oi%fBz|*5Qh9nNn}7 zM!i@lFz_j)If~(Szw4=uxWisJkw>5ZfJ(Pb?37=Vf|7cRel{IJXEzpQ^8;KUr+6-q zmKOxq(Y1Q!6Kb2(kr-u>GK}mTG*J>k*)pM)E1Tn)^jVhTdQuo6 zlC^mor)9Xu&sld#EdaSWxbj{QP;1jBJw9hdnvJpfsq~Zm;#AO9s_RgSo5k*aJ&MqA z;{lwi?U=Nmc{VCBITDGHaNJ-GG!Ak<)daWZyM14$;RZ%ePoflFUcobDD8q=o*nee9rBL8;u$$qqZa63gXrxY`$Nds{h``7b?4b~ z){q6~K+~GMqN93AxJL*5>_$unf*zY*+6i?B8-@-oGuh z)?;ELb1pK)3ieT5PQRTHZQ%gOX)`=Y%48RT&@X!tGlJ4RN?WoiDX0lI-_Z%n*nq+5m#B-!$bytR6qEylH}c{gf1jTo@&H zv+QL45k=WKtL%e@XpzL%&1*PV-#rHw*scB1PO2HP{3vK@ZGLNN0!XAXMD)tODJS&& z2BFMxdmK`jOSfTk6>ID!L)~#J^XRgU9ybD~mkbDce{oP92ckCmpEoK)2O@mxKp&}L zA6M`E9CUqEk~f=pkj&NE=hvGP{n$Lx6Ffdbs*0y9uks*8^-{pD#8i>$E!GRB-v0D( zIdz-pAF7fP!T<-1dY|E+ET+Fec@PHnH|@>8|LIqf^FJ$c{u%@RClK+({0$cRH^eUV z>wjM8KXdeNm0ka{j{e#>|Jfq{*&_e{+#<2woYvq@eF6L}9ZG?n>u}{`^@0?Lo&>wU zoMmjY*Tba-iT*nPJ##e@ixQ<$0I*j97}3dLUnaj{$c!f&7z5Pt{)jbP+ZBQ;PW|5c z+&A9eeVolycf7EMb*!&Yi#9WSHdPGfzZ8c<~FJebCm$L9{awqMF4Rh zL8%X5j5%a}^DB!)@~K@+)xlGv!sPpCZ5fGWvWjp>^J7!y;RB)H8jOEjw%#uCdbwoS zP=g>FnkW1h$A{&>JrJ&(#5O-+?@#*{pm0Zdo*+3oT>K7RF%Q%$nTOeD+^}PIdjKOr4L)nF@LuwGFoq1gW z)OSaq@N8yz*WYI4or1f;rq-Oc@)^@7(e&W+xP7ROmZR-Bkscj2YoiONV!FckEpGjb zD};K(aNW6K{2Uk-SAe4N@>4f8gXCaU} z8{2&jNnjPKROKLHai`dE+B5HBOhZDsBM9=NiloM<%?LVn&Ff1Is!Gi6^S9l?tmV%E zs4Gc@(a_Z|p_NNJ6glYofoI~Gh-#<(SX!jQOu7$kOn}>IBh&>6io(0u_Ia>UV=W_e zd>K2Zz3#9y|M7e`qcOl(Gv`3$1HnP}KRNxs$4kkm!QT+`kUFd5jLY&vd%uAb&Dm4c z+K~=CX366e4jfLRvkuFCXX;0j9pXxkq>SBPO`f&`1on0tQ9pH;wUkJDW0c0c`IRy+ zIgT5U&sTw%E$gJ@02KEE)HM%3R1(#4aL3%*$vZ+!V;B9%tR_!)-(})i-nG^}^vNjv zIxI(@w#hz~L*}}Yihufo9zZZj1d{*l$~%#PkoDay7ux|s(_bscYJWP6*d^^HwmGG_ zsuQE~aLv&Qojfbug)=I2d=4Hnx|8^!0UHUwVl^Wn8~mlSHf{#tdaJd8KnIR1<6~!v zv*jwJcG?I{X&79l*O)yv7~zdHN<@p$LN!VP&ch?X$V>ME5MmNPAW!8y)~YBt${j8a z4In4B`fEk}>x5d;vP6dlK;$RaHuj{#md3%iA_3AYvi}lsz(n9MVT1{5{DU)L%dK0)_ZZ3xPDQCYDJ^51HWB4g?NvB2ps8 zv*DjhnR5lU?!z!TYxQ+dyHqb!!C6+$1+T6Y)y8;m1t1y9V+bIin%C8Y;W;RW72^g=W1W}MhX7-dWJ&Lg0jtOZ6oQ_2EqZCH+pIj=fh1O{f;$%WARO^2 zd|9MP3~*x2fG4^p6$1+5Ia9^QWuW`7`F)AWDJ$gDO2(pyfO=!Y39*%PGl}c&T#p7; zuJfFib}xmns>bLa!tSXZ0@vSL1@fVn4M(vH0ZgLq!M?cQwg=RJu>dd3GnKm42dJm6 z)n6f~UlpK|nFZYI{<;UaOX}sdoT(+xjxYMI&J`Sh>9(v?Uv@Z|<9I5ohp9Ca=7RRt z)amsp9VqvCLVJ2$VjsXz%~L#u`Mj8yDIqSUgTpGympA=B)P72&j=ot2TSMD5KvfZ>WZ73L?a$|Z0%(f4y_(PdSg?m(*!TSMoc znHh9q{9yJjwC9IRl@A&-Q#r9B1%WeJ4urkj`O15~-AsZRwj`3vP0#(PbUG=s+Yo5| z<>>4Lsl8a*)A4V`)Vzc&ePsakv!o7cd(9lTaUJ&3(0x>;IO&kghAJXUh*S1uf{oHK zoo}Y^eCLnBfoN39PRUt*L=6u~og2O{cf`sa_Q zv}>%Y7tBupURvD)oZP1GpLapWlMY`!T*_RjY&pqI-a0nQh7KQv7_gK_@pYnZEf3zG zIjH0KI)qI}9hzoMEZbqe6YzX%hg{?h~nGAh1`+;#xn*>0muII1zj(zAf`E-zp{1QeL?c(t&op8N4-6zu{^(wyj+@W~4C=w}iW6paIYW)= z9Jgr%`3R69-dr12R_LK(Fmc}kg%N?Y*BY6mao_Y<)Qi61`fEE!?i64DNQBsO9jh)1 zoDrDfD!h=L5h9=H9)u-Oi$!IGyyu+@IQl9ew2%? z0jtigSqP9yKlj1neI-h2-_3BhjOMd>Zhwb2=P{@mWgUI}^BU8>@bVNRf@tS!Kw-dx zS;+DgSBLR!_8YzUlMYxVaZoH)%D(i_Rlfk8>-bnXng2F*7(biNh{Vg@haIULgMJ7D#dfg{225YVGwy1AAp0LecTgJKF18ET zoM$YOU5#jG7#kBYD;uD)E6A=#~X?#f6n% zSc-1KqxE-z(?CvY=dqQGjKltbKDc35~X{21doi* zGGs4EvExiTsI4Yf_-1xOonPqgnNgERx+cjA&>GF5{9gC_ugI52QZJVjo3M?gt{4+H zHL>R$bn){911L*g^p5{?;7GJEZ#OXr3`DycOk7lX`3wRg&4E_6zKiQH45xuTsA3{Q#TY6r`w>*8d{GHpP z2ypeSP5eZO)SuvmexWgBV3e`8_O<&g7o*La%v2_)=^Q==*4o0%;d40$2BMbbB8zge z6rHxNO<%FErqsC7KWbo0!rPD56^RpNe4NM5GCUhbHMnb=1_+iI%1`MJg3>~TUDVX| z{iH^#iw55ni%~7wM!Wkjfi){=zuky3HpOTxNz!}g)Ig)0PI;;{QlUocGQ-~Z%+gFP z-I9=Rz(FUfMP&Dc-6bl=#90+iY@~Jn)4x$C0Ev>`B@U!902y@%oOCMu>^Wt^OiRCR znI5H@9dbm7LLF%%oo3Rq4zp**^p$H9G@lF5 zP&2ARnA}yT^ydr~{fx}lLdG|4+i5H_s3e6t&Fh=RRPtJ;T*E$xqGZXvO~)IDFzh#c4_T5gG{+fR3GmG#tx zuW>Ogmi*qp_%qG~O8SON&UAgqdSz_I3#>KzTE@4yP^1GI@d(&RTmXP}!?c)VFsf}N zaJ+9thZq$kBOSy~Yl^zln;*iv4Z0XO_Fu5sB*)= zHt6EJHhJ#K?KqFNlrIiubmciORj(THz0!PTph)ai57M(2kY`QMXqKp5nc=eDk48BicqC zy76}xgCjS~XX{o~W?^!>b|(opId&MxUK-aXEH1(lg__Is3XwHE)!;zVd)4_jP|Tn9 zGS|EdZTR&*bh!;eu{02n^@6ZapUeL5P9Wqv{+5K)`L{{>6(Y4*fbi+dP zG0sjxp3udr0%I>NAx9*C7h5Eh)ie*+4nK3`w+`fAHfe#Uh^&45_4T%FvpHJ(`r;Rt zcb6+{W?LB-A`dcx6GfWPaY;)PeZtAg;*K81ARtzoLefm z5;DDL>Ta8*>krby^LqNVh}&ckFHP^8vjs=Y(=8~Ol*I-KEKVJ!)7B4ad?;6Dn2mCv z^1$+GTV_E(VB@#*A179zWVEj((1!z|4N z(`eJ@i9T2{em>0)=%Lwwi;q3B+=`)9Sx>+yS-#k;5ythYW*jQ+VSIae_KrS7oYFdeuZ3} z#KcvI*QAjigrZ>B0*_vKW=t-*9r(rAS*utZ6wYtGrf358G0Os5aV%-^Q7E|&I@+3R zX3y`3`hMsu)pdtIiEI7>dCs_2Cw8n;V!KEQ@bOc;)yn()%621C-iMR+IT1673GCx$ ziUnoG;yNI(mIuXM;7(#)K8EGhL+JWfjOnb^ri`CmQ25o1WB9ivMJZ$Ng)TsPW{;VmhCHozz^!F$Pkxdu-%el!ChV)34yrhm3*MEOX zu?V3B`yu8b3cmme*9+h9FpVCIfV(j}tb+!R3||vr1Q5cZDwu!8q;ucKDX93BB~`uw z0s=1}SDGyWuJlwao~39yLMfXMig}Q8Pm-JtF+&2zO2^i{E#Re*uXEgV53lszc&{Iu z-nr51uh1%aJLKK`X}$y`{3E8PJb12et?F0rU4gXL%tO&eJ^(+!;#(1A=ZzDftFBPQRz)nh19~QbZreqt5eiZJb>ylk)w22=g)FyUVR6@0R&0k(LtNZE1 zV+|xJcI>B`=kEkv%9Er}3V%DulBMqJ(_a7*Rah_0CIYiDjGQ&1^YnRQq-h#A_-XTY-ewUd|_{ z8J^Er_8}wpx}{;Nhb$;Jxp>H{7I7#9@16ZrHmUU-l$!p)2Sr$>#nrS=^v2r)G z;4ndcHWYlqM8rPtyaG>lGA4qE%P%BJZN%%1@Mk1-g9DW3#}xwPE)3X~1tK+TpH7@< z6CHu7YyQK}QN3?7c7nx?`IDkTgEP2W*3okfOef2-7(@P&)B3Hj*%kw-aLtK3gB0|M zKCP%lpGf9fdlN@R9K+5@R5D{3MY=u}haJujKHmwPwJ(|yATF+ZK3xh|H zy<=~FI-ND4guT%bhb-oRP6!yI?u;<%p1^l^@RE7-Vxw-jsPsb!JXg28hg7qdUhK*s zAE=tij{B%=YTbJ(E)F8us$z#bnvYA7Rc{v<7=9}qU3;o;+|HhS(*02N=|0t?I(?H1 z0B{(0dl4ORFJfu@MVPhqQ-8VT0i$+U%es^CIelNqinNc|p-R5%i0|eYm1kB0n7#_R zoX67b&*&L{W z(X@o|*n-D%Yd{hx;r`oAQx-fnK2jurTt>6-7n^|y#FtkapHOPZo*uLZ2;av+eXvjN z`rd2*hc3Cn41sjDGF#|3(4`4PT=NI{sA`=)+;v6s#REexkNCpuc${W_&UkFq zU3%`F)Ren9ojRE~!TREO@Hf-Wd}Vpwrr_-{M-ss}=QCps&?)%iU+$hgyl-C%w(RFk zXNnK|EQN1P>2eZ|V1CU24s^F?{dhewGsqX59$YDU^tSmmyV6E_m#88WQp7P_#ZyfL zWFhZPl*v^?AQHPHJ$V+AivU>cPtrvvJq4RUyMjOt^N6?aSjs zYuWX1Cn0=)PY;k{Yp4!T^S z{!mHK?*7>Oq-4S1-lxJh#sA&UDV8^RzVnLtFe>W_iIAszB7N|j!2-AGuo;i#1fBg{_xK2;L=CTs=zm5X0A&h_Xi}R}+NuPuM_ZRd+9mfB#keU?W`R@N3 z$RQ#e6hJdapZ$Nn_kTX*|Na>NGn4J+sn!j({T7ThuMg9~cXAlQA-P3g+c-@el^7jGI@BI|0 z7{nZO-7L)**NuG>|K;lnr>N1910U6IU+rU!K0dqg249v%XEwov?taHhkkbh1qMBr@s!^c*=eR0e0D>K4|9z%Q$J&y@m&vFyvMI z{XPHd_f2ZOAe8Qf-J_j$iq|7zXNnBbzrN@Gvl{|Be;9ppe<0&DSAW6n-0Gvsx8Et4 zCH>n;v#)m}!+!2nPyn{jIg9)q5LNWkxZ-_QAQd?Dh+iKH?8^P~o^-h#mL86wVR~{S%V)J} zzyJ5DBrke$^HQYtquDn?cg4Y*SYa>G{rWHh;llYEI}H-Xx%LG@^yIDvPS4|hyPi&Y zz4=?4zbd5}l%_kctbfZt{q>cFpWLXG*kJ*Rzax=YWqo3$3=EO~@(H1%Ls$}T`wTMi z2Ia{2oiaQ9;gL~)pIn_A&-wRf%9J~QzZz3CQKfeJACE_6{d&!PVrX=H#&eN>jE3QW zvmaLCBTf0Y?-%8D2V0=j_yyCyEFQ3yR#L&8vXY9KX7IPKgH3tARSeq{l|bzGiFCaU z?kZOqnXJTLYo}iTdI|EMaFu_IehiJa7|NRa+vtbTXuNK?`0t}nvB2n4dCly6;4~;6S+o(JHIS(GlV*+kAq*>qjO|r;eXSs(`+p2lsxz*z3+Tb3$;4#{!=;Ly{4G z`$0q07qwwkX$_tZ4fL6bcy~37!c|*WEP?_6+UvnN08PC=P{S8ef=Z+5&)+BA4aQxmOGK! zQN+A=!(6jfEEuw5)sHid&bq6SS`{KZa`u%EeT4vOKA7~I`t1}Wim?~5l| zmW$-Bh1sI>gEGvRP??m&)B#j1{Y*3BGUT3oTu3Em%6E>nAAE+Wdl=guzCLj?dj>qm z_do}bl@!oZSYIDn60#bI=NRluw2I|Oue|+hfe9-^TNgc<>ivI5;KIqY{rLpg=1e^j zX;1{vEW=!ThimESE55Er#lAofr+y@(lfq+PsU+>H={B=3=#bJmhEiOtNa};a@q2dD zi7oG*=p6sz8Nau0F}*VrZQ;<3)7lle4E}T2QnTX~=sS?z)v|8Xa$Aqak{oma2)$;2 z4!Rp7WZ35pCO*u>X&j?UL+xp5gQOIJovdMdC}x=8=_@cVTno2`#r!eQfH0}%BdfRt zZ;dV%>SQ95SV}gkkjx}khRF;V`+Ag`4o~?7IVd7*gU+CYAF4%9#+dbEgXSNVR`nN- z99=gg53>k)Y>kAi&%t_bJ50d<9*EI?g zI1I#~C!sN7Dfa#3dAgG#;`8z$at?UpY?e}TM03L5e*k$@|BLr6D~222cYq2>3-3^S zM}%93Kt|W#jlsO>2!Q(2(yHp)u%CRlD+d^SrrWCZl~=rS zP%5530yf1_lSOckeK2M1Ft6`j`%07c;3NyW$WUo5zP(kmCx4$@9|kxlHTQQk4o=te z+o?BA9H^K);xDivlVd_BKr6%q?N;-e(B1w?E*1Vn&(l>_0k=aOB9q9dx{;33Ooa&n z#U&nL^|fw~#v~3^7`#;)RaWeUHZrUG@%D7V@O)|jIXd70m~7U~d3Y^kJU*M^FnIXp zuM?R5rZY-H+`~||(qZM75=*}>9PcENlvxIHoMUo;y_pA!%fU@mB|HGeRQCtOg636o za@<)vshuow$stMV3HXW>$WAIvl)(mjs{qQvcYm(!@EBmND3Ckp$e#!FcydZTS@J!C z&AkD8ckB+;Oqks+FW_V~Ni%+nbbTta+}`4}3WC3w4*bint=X97Q1UI4HpTu%Utymtz@ zyW3cWWs6R8P)70sQD(#G67B=U5rju50B9PCbh))zrA>DrzlqX~IUuPlc?G0L57Km% zuF}uz0m}nDiaX>d^*LBx)7HS~Abn!YQ#lmitMZw!7Yc9OHr8>)9;Py()yXPvy{p+G zH|L>6F`BHYp6Alq3}pE!wvMRC*Ym0^$3dAH{mjwrEV3SjSOCRcT^D<8Vavudh9`-B zA2aga%y-YTP5oJqqk|Z;<&Y%IQZHWIKQAsF39lWWJJ_|k1244x7BGn3xKQ0u^kZej z!C{*)KbE+`fPctpSdqQZczZiL5{+`S^`0&%%n%LiGl}3V-a}ox9y^@}EkPL`6-ki>dr3 z)6_><0xRCY0(|-Gxi+P=SW5^d-AgC_Yir-^TvhFPQ#-u5G2vY-)!9PgDzBeF52TOzB#vBD(Sem1bNa1use7H^ z3ujyP6fmI#oFt+#h||d7(3FkjI}cnZ9D{qMv3*xf-nQQsLHm$l;bLq4MX{iO#Rv%f z34dKaa&iXjXakMMk4%Ep-+5~gcBcS+5dw#Ev>0^sTAYDFk&doMc2l!@p*%kVbx?0= zZ0d!UeePj-@6$;Mf2Toihl;DQX~3kyuSl!fd0$vO&=oAaRuzW3l$Na#%})V@uVmHY2P(8AenZ_y_fp|5GiqB1NSm^K;&IGLkw#B z+U+$jA(NQcZx%tgryY?AzPvE;op%;qIf3bM+koKR(R+=m_!pIwXh5d zC^{RT6}p`HjA>m$eRMt4vx$K&Ni0^hcv)h`?zZ1hbe!#LfUCs>tWyy!R!4Bix7yEr zU|5RZRIVdujo8o~uxki7aG)WV&IuE`9RK*0&mbt+(+NC`wsq5LXqhVM8-^=N4{(_# zD5XjG2?6bw(&gJnmk_+VJg9eJ^{;fZHXP()wS^-uO#Zf|d2d|2+)?CcCZ)XSq)jH( zq_oP&yJrxE7L?;FgY1loi`(x)vUukKft2g@N?`3u!G2zgNb{OFkJS_La_)Q>GwiFI zrN~Q=dtwj2gMK%(2Hwr;a-H>tXE%Nv%g~^3$41Y|m$#z2x(kcnUd*{NbW3tcI9coLqrdntg&29hWZi5A_x6 zVp%4d?vT;fqb1-vQjNEi)j0`ztTmW>nD@D%Fsd5I&XIcWLC8ZwU%|Icx6UrOyI}(~ zZFD-_m*HG*RY{kQ(DR%N7nAFkcU3uXMrM(|Si!?XEn(b6*&U4Civ9Y%?ZNn_b&#K_d*2Y&IV+BGY=eXrNZVGemx>9HQ7~7jdZ?3)^ z-4$_9&M&Iuuz{Lu6}CZkcKale%F{^P`7N7)f=lZnr%(H?pSzFO@Z!_-r61+jbIo5Q z%${ec)&q%PMusOIyu%TW9L3reDjg>!|DDnagk0MaopCtK6d-qfc{_{$S6bI!d-L?$ z!u3Y-re08(C|0@cEMk&$Ek7G4N4nw#baDV_ZJtV8#hl-v&U~Y}tI6a-?7PtW-*1bj zNp=d!UZ+en$@c{m2-aS6d7nLfr3}S_ZBOK?Ps5urToToi)ZIfD{cr|+bFxzU z?H;q!Bapuu(|m#7Y!eJA5mYs)VC{+{xPzLA`>1%=&o%bBS3$15I&gk?^m0>*+e)YX zcEoFMba{7j7xwI0p=SkEv;-!agPyml)P!ATbmpvfHaa9Txu#Sel$32d%5HfVc{Z*Q zaITo7qcCEylrK(wrJm$@qA$)f#JOvdn@jFn=qaP=9KkOr8+F#vv`l6N%#f`CdP$Ob zR?S^=S)lyU#XBGC#ZNzFMSeMUmsX>-!3SCONLS*W1WJ6^X7@jMN` zsYB6Hes5J3O4TT9LFU6qVfDDYYXzQjTvEnuPe_ody`I{5o!qyJWj06~!=;uGx8qyw zw!b|VZ5Suon2CU;XEtf*svYX<9SA3-gzlfqB3>x2RJtMuGovi)c)fhEPfJQ6M}r}u z-`rN$9Dv=P!-S~{dsNgxwNrJqj9jO4yp@lC2?@8xiR|vMF57}7&{9iK(JP1@Tb{Mx zPA+KmKH)SoBmWVpkF7nVZzxx{u> z<4-Wvc6O%cM(GYMcW~a&RUAWYUo(<)w^pyddfA4}DfZg(j;XcIN`>UvAMOcD0@RPS zlyoj#L3E*zw!tH;0WED!mrYcd>a~z_$E}2#x{V>D^gA@8uV}ZN4-FX1(?U3d81>y72^KVqX2RC$Q^WCRj3aW&fdUP$^S+cNk zCptI7*gKLGB<=ZvcThld24%2XPsPS1Zs=HzW|;}NyPZbetuueRtUb{?de5EY%=U@d z?IzXAFsWq_eukoZ0n?HW*udKKkxKHLQ}=CLfvp*)AJ8wF}q<8uwG^LF3f0bl@LfN?q9<4)& zubGOUx=Pa%cvnnMKo9;jxbQXyjKVDNHW0R048XyvePVm#>hn&5cqcAf4WG?(`a zj>dc>C}1IKJw11il{gxRWi@OX)wCk(aXfK;x~#)Gx7SyF^(aK*C~PERThQZu-+<8j z$%vS~v|5jBB>{JrDZJ&|E3X>`8PyrJJvM%tOvji+zi*k-E?}e0kFsAT@dwFRWu%zE7@WDHvaS=P>U>YJurSXeCYcf zu!GW8nV9d_?)CB^W^letNX1!$JH4CbA@yHc01|!*Q3a}P*%y;dXNGEJ#Rq;=p&^qu zu8Pi3-_%P7xE8@~nUwou5aG!cV3P52#4m}4`|o)SF6%nJc~bQzH_7yrwb|j^$7HPYYY2BotK9*^**k)~h4g7-B;Y*0fL zlgSGH+pY6Q#Z@FIK;kV^{fQNI^~&g{7?d65}39wK1{vTmy9Trvh^?enT7Lk^+=niQZl~TG}LWCiuB?m-6 zloV-!K}l((ksdlnK_sPNNP!`S8hH2oo;!Tvy59fhf-`aUK6~x8*ZQpQ%KZ*o#J)u; zPJqBr9`ZJvws>&oC@EzGoq8L^`MwDLO#cT8+qiL}Y-~8=<^Pv4Ys*Vd1Pc)1tMj6r zQ%677?m4KX!v#VX%Ky&1>@i%5lmWp?v4P_7KZ2F1MBrh|p8wRp+(`R^I&}Avv@!Xv z90#>_SIe~M{Z40`YIMagfQ(M8Rxf?054=f_zvYK3M z+4v3O9pjm!(f%!E)fZAX#?aobhn>`f>F%9 zguG?bT!c@7uYQVYQC(9*|K8#$B~O!*|grKBkY!w z6*n}i+SY^R2zrs2L6jc4>%Aq7SK`-k|3jdb)DzIq0@wW}rf2yVL|@|))n?Ru-vo0< zu=&!^w5;B~#C@3?p`q(I9>L%(#WckHC>=E`^rr)G0@&)fz5Zl$*hGEl4?9?b%Nl@C+cX<2ER9_e0t7Mu__nXLGxwbqF+CmAcN>ZjrIg$e%fANS@(7M3t$+Wy} zw&qPz7G`UkXN1AK57pLMi=NVbxWnYwRPp6Yov!%Aqc^rY4XZax1PhtxGQ~7PTQc^v zre?J-$MTobqB~n=&a(P_auc@?*s>1Ot9eJSSv;>Ex2dA$q&0PUKqu=jZuUK)O2cTH z2Er=`w*cXcEppIuGD0CgbyJNQSL0fXBRI}M4<3fgqdIkd1eC(rez>E7K>oPEkOeiV zr<~mmsBU5H2PjU}X~X!934%{2pmm4-E-EAnK@Qaay`6A5HyF|Iy(c4JcbX{l2J_|9 zLFSVN&Xk^!7AqNeFSlXW11CrEn?Y=W|G=xX!5cgqYc|Vy7@D1;v^3O_`!7gMFFZ&A zW3RNApIOOizIG#YpZH;a>!(Gh#UaUWs2GW5;FUj%8_B%B4BF=rgLs{NL+2TX5|gK{ zQY~-3J6f z?~pKHYrnGT7F-`hSs%GS>lEuHxUvVr@vdot4rlppt*I8bNh?Nh&9DTpd&6BRO@tVw zXh!<1lazVWn}NdaZCko;9-Zk?5u4c>i&o5p-GMN2OXIo_Zi5aC3PB=M4Jx4-Q6X<+ zOK5G~nLc5FS`JHSaQ}TV>#G5r3?(ULDenA>OEnU7)SS%QyC+K5!m5{I$SXm_w#eo~ z_vtm}RQgX`n>z6|{N~12j=OI-6jAiKfVj<%c;a@;Y8l~qoy$?1$Om+%nz}8!AgJ}` z#2}fI|8zJ7-88VRF&RH1z+qmLas72b-Hqm=Axq^TYAJhyqkNiwRx`!Mrn(WL+G0Lf*)5QTSdR$26KXFu!^x|NCS8XU*G zOklK*K5KDAgC{VHFPSK{E}7Ve_oFkaA)td`9K`Jyu0Y-C=2EO(KCzw_9-2RTf$S^HI@UFt(7zIGy|m3O?Vpyp>v8_UgZimYmIxJt#c46+^? zRB(_W8$NTBW+xB94yy{QrL(Y*5>7cSLx>Xq0S&DZ(4!`1YmgII8@NAmU0L1mR}0T6 zSU@?0Ve}Il4_>A)*^CWe$#3+8^oj2ms`O*MLD)QVRwi9g{T;|}N#Y7#J=wH*3T76M z0mn*C!dv;yXCzucL`Pl$8!muzsW((sRqd(N`<2Z>D>A&?;0A{uvU=$1J;I1_wtktT z5u(H4=Z^Q!fI+VuX}Uy{aR(bOOPut>Qt|acGKlc$l(vLl!7l|Io<;w9cAR>z^<(jP zFTx)>P?!}6P^dQAH%nEd+cnFP%ZPYclV0X9+tjlqKkZR-n$u@wK=H zSt7aqlUWoK^4dh$h-i_}{502u&J~EhVX_bJ(2h;_sXK`^hjMWPN;|=?3izhV6Z(P8 zUvC!+_ln2Y=`kVuJhrZTTi)h#5*{+OPS8W(3PUA#?euoF|4DN8;M1J|FX4YV^506S z$kT&-PY-uo5BMK8K4weFwz+l^zjx=TUEy_ye^hSSerX^PN!s0tEmoDyieK*%!5m{rGC7T}_ z6sI!Y+pn$^+*$EjRP*yZfPu|lLBcP*LXu8cRme4_@2|Z7ee=65bZX&YO=IN+f8Z4! zq#$uF`P!;phZCgmq*|{=c6Z5BhrSXUcn^J;hZm8ZE&p+p0<6dVui<|z5$p#L`*wK>d?i*9JNNZ27%EtfqVmfaO|;S6;h22I0a=b8X}hQWE|K7jb}_m^eNAMb;5+ z^tALeKMx*`!s#*0=YI9EwzSd{^-Tw<>Hi z@P0VKKK{Rhb}dKOZbl!F{&M4do81e?IlEtKnd zk^h>Hl@1)F(GiuG`A2%0_S(u$cv$QmrPm;}$fgR~OIWtNyjayt#FqS#WSfKJe}3h) zp!k;t(vd6>*~lCBxB?2vSY)Ni3jQ0if_;bM&>DbWIv2s;MA-J4j0BJ1YLSlgqoZ%+ zenka5e;_Y7K&}{HQ_{Pm4b=2eE5;zY;C~b+hz1^2-wJ?yd)< z!DE1^1!FFJ9Q7x$gqxCY8bsOQVIV=x5y>FNrwS^zEyFo;SMqdqo&LNTjgMX2%p66< zzW0v=ytij-(Lp0ujdx~KwNd}h>wl37-;VGBDW^=p7XHcOn|;_Is)X_1dHX0vu|geA zaNv!D05f}XrtuA||JTFYq<$f%ja0b*nn50B|7$_OpWiS-xJTR(tQR^iBARvOe*%KI zRd|1tk`92!$-uwQvSUp#So1yW{UhGyD~ZDyS5^h|WdFRq|Ks(_7H|Bl?>M&rNz zgfwF=jF|sxegE4Pf4@!g9at4iggTG^CD8tXCjNYJKad^VOyJhVg64l$;6HZu z&lesyahuk)-1mPGK>v)#|9BB}rjD~|(|EdnC*S{%G5oJb_C8qX9ye84S^q!7gG~oF zgKZ@EeD;5g^50{K``5Q1+#KFdR#yK149~F?4qfvj*TnvBGyUJj^CKQ^4ub>|{x^I0 z=P&|Z(hFy`FwEc7_RoQ82?8(|UpX<=P^o~^!)+!HCan0#~T9tz9bGyu|)THzt^ZJKoYpI!bfxIIIOYxSECmM@uByTM|iq zYvb<9`S17SFX1Sa+O>khdEpmP_kI#q^b4tI@Yp29uNLl{gFRn@Et3AkGx>SJV+6`P znp}n3 z8|ZpPw+!kc#ec3NZgUihURwzlJi?`j|3liW=4B{eJQnKXp~M9;MdQoQFE9CR0ilem zNasK_MZNO_ht^?&kk(bi!Y&fRGAO0A?K6)nNGt@UO;y!yW8 zOSu%!b_ykV8k`G-z!6x{9LjmQTDnLZ;YI-aAqK=|7!!o*x0?Kt?F;gi;}+%4z%e5H z;Rc`p@3tVPx?}IO0Uylx>q9$SNCmS)%w2SiE!9yd!dS}qhUqLkBk=6VAt2r7=}}^F ziM{T@Adk7Q-APjgV8y~%lT6D~7JaQvsYtub_aD}-e)n?kiy4|5EgYm5J#H;Z2wg%p z3$ksv^k!MkhTtLkbu@0Mk6V5bxHVi`-viqlH?VAjOfhJdoNoIKzYZ2#oxre$hYiH| z-E7!78x!zA2hGjH63Hml#$eK4^XcQAh=QC~?sUmsn?AL0B)!)s68E~|#S<>S^LY8S zTV`hx_6o)pL6;FA24V;C+_1!#^iv&NOay`1#*&}deI^rvPp#ygvtcX&-f7ti-$3|9 zvIrFLkUj1B$8r4#!R_}1_))mF3J8!hxHg#;dw&N6^vS^1uS43Wt$`nB{V?zBTlX)m zE)c8{JOz|SjFDff;6t=kjEtxml>Rpe{{1Yjc(Y=T>%9x&g|zde$4=GbxuU_-wVym@ z!;fv z%$v&~kX41Io%l24nCl)W?tJZ=87<~cd0_w>_RpX@avfXP>&m(>yRQ<66vWPczW@2@ zrRC2m8RTNpr|P_KhrNt%_upHXo!E+&e(*VP&l(vPW_~Jgvq;8fUBQ^h0dn%x-w^Z0 z?-DnQem@mCfoJf%Whx~zF@N)}k*>5U`oy|kk779X6vUzRjBQAm20o||9B(KGMa=B$N%YgC3LV_nA^eM{eo%WPb@cDX@cg6nWa20T?iw1f1X zxyi)cher2c#fYn*3ZmF-Zg$l@)wNsE^#F4We2t?*K)d@Z#cc1gF>&$tWU5&8{>HOc zd~u}xh3l%yHyuT4KqK`qP;xYh1ORCaxW+e&BW&q^f)Zn z^7F0&_*P?-c5ulMOyVnwWgKe;B1McX9SKD7oYctR8 zbjVfF9E68~Wh_O?Bv~o)l*0M8Pc!h$7|YPK4V0;z1{_wd0887iQRZV0q!yqTg6|FY$xmM)hFBL4{n*lwy=VCD_qE zb)P(YiklMZ((<+CIArtH8riew)%JWLBZ`r{weMn{Vu5q@)ImJyWg4f4F&%pS=kCQCyu{HV*h z#@5ib`c`qc-_PRG*MZYQdECs4d}y-@KsgbHumTEQEGW z_b!IVk{lR+9kIW}$vknPGUH0|P|Sx1yGAxcj=whGR!ex?%mK}oqshGvx&3~Eiq$;nK{1&+re4x%g$t{m)Y zy|}s3@2+48c=os!mWo$^DL=LihP$~%E!E?QOOao3NjB3}IJRfJtG%m4=7h8#h@8|_ zq)>d*=1XjPFJ^6_j|Lh&*Vjpv*4odA&4R3sL>Zb@ITU4Z#Jnv@Q#U^8k#PN$$zAaY z`=3ToG92!j_T7F-HKvj}c%f$6mz(&3;Dh#M8<4Al7W$TF-vE^>PpjXQ`P;e-O!N=& z+gt6T9;F)&1Q`iTBncr!hE=Pgs$hnLMh_m)&pI=dwQhoaEHYfA_a(2tsFpgDe?Pua zYzpfH1EqEmex`I;ZZp;Xf=Eo}3}K38zl=ORG}-dCt#O!iFQZdWW7jgWJ#PCFu+c+!d-12vvf^czF*CNh8r)t=EQQM^`Y+7cs3!TF zPu&_Ib|%Lz--Um4IrLRbb}ghyb7siw`oMR2_N@6Fl0;x+>*2pw8Ko23DKUgCul zAtdRcmY8Tb%IINw!3NfKTxOiD`rLlJohGNv$B&OG7bzOg=Vo^pfiYquO?^7A-&&!h zGPb`J6WV2dB<|N0A}~rC7e+gCCi1$?k#yM#J*DCtNYfd(+x&9=rOY+7saf)ws{bD@aT%Q`#>133~RWfsv&c3t_njjem#xfkepDmRzl)u+bW8k4|*gr@p0T!Aiq zu%75aXz!Bt9jj=S%sdI?n>1PYo+L|b9&k@qRmcS)&_x>D_S9XC8r^TzxI0H1M1K%W zphkz8JLF5)8VpDH3;s^M;5Xs@o8F|;<2=A#m+oj9<+>Gq1Wmc!=ViOces3+5vxv5Q zplY=(PD4`5@Ydv_R4F+u$&V1u?)h?c-km&(t;%0qDo-`u>BB9`u1cd~_ZfFyCuxC6 z9jl*_OK1|+;c)AbfM-W8A;0eM!|2Qg)*@5ww_D0uipCASmyZScJOerF2^0e*`AP)l zF&LW+p^dsTe@n;Q$Yh}iD2CbZUBmm71q4|}K>5^*wymCi`3arUfa{a=Y{R4}cgu{4 zN_?(fEwU*0yA*l{8(H2K>J2gW{)#yCu|r4R02Ovq__Tg!wK)Ep=j%$Qt7)Rxbl&E$ zASW`gi6wlxCz6E@C72(IImZ=9-G~f2j3PU2fPUt8H@eXPRf?q3600tAWtkz0B=h;H zpAwH4i)=2KQM6v-DlqYz$$*EY(?<2=iv>pRcpFU6y+fm~E}1yTD$v;N4-kkov4HZ9 zzz$dGO@u6q|DBlCQs$IA4HLlIXP3{j2T#jryfn~{49hUUyoK6I&L zwP|1OIhijPME3|Pbb8^ZDx!YzPZ5Yl^ZTBkxOucU%KOx^Z2Hl$>2*GBVwC*nEWIL$ zGhr9r>(*JMp60$_)yctkrQZg|X!UzLd9zLpND_qttgq^~P%!UC^ZS7BHtyDzj(8#= zi5&E}G_~o1MWzD_MfzIX|mW(q=R3+=?HV}WwHQNz$Is%Ga zd|nkcvV=%L#T|bCK${YC+veBFN#$pFdmazayn|$--^^4(PQ0l&9}`)XfUNPE>|+D+ zgpuLiDf+I0qr`-Cx9^zoiYt_^`3otPKnqi0NqcP+4z0;)CAe33*e&I`$0~}h9{=j3 zCtZn2vEC9n_gC%Hr|J||><+umD7%b?7cWD*HuM;ON}=H#pHUOefuaUu7NJJ{Qkd@b z7JL-`*wdx)w!}hGXKI>@C^n@TT1;fJFr_cccEsg2{lEZ$*Kz{Bdq0Z@L^G)j*URd& z=0A0pz|80Zi}fCqlZ@Zt`VjiTb?l>LM;kIRO;A;0yv5}#y|gO)_4VZ~DPHC=WM=X2 zS5oHWdB3*Z3T@*T4$b**oCUOT&-EBU_@)*vhIUxeO2^gDTv>W5w?R!~UwofkPPDkw zG0{mijph}AcKg4>8CX2cy|)(lv$Pir@DiP?#yySb4sKaMF0ECcE0W+J>{+lidlAkf z$6@)~KUeq>(c_8>`4CGl6Tj)Q&LQDr+nuxqjpo$^moui~$u}1WdoaIj&m>tXTt$1= zM7Rnm8Qx^=)oss|)+qaF=Dw2*sNWi;!gpF#y8BvtotzfJ@Z6_J;S=2E<2b}$r2MN4Zl)|Rb2Jl59;gsN@pN#MA6zyxMjw2Pjn+TN1=YHPE9|J*D9qY0H5esQqTFdk0)g!fZ$Tn1_oY4sEvF7=3e0 z3jRg(r}fm^cgY_8)KP&08Ce>^39kwFw(3yKEO+6;2lFYuI~}xLDEk{1E{a%bQeO2t zKk#Qba?{JlnUkipv#Dm4q3ZH#1t)JvS6(D(Tn4>z^6jpdS8mDRu`#|HQcN954Bc5$-sQOwpEF1I61{`q zNfZ(Tl_TP_z1&hP-2K0~+*jW}H7`AA=f8d^Xd%|>%9WPw&q0opyDiUDgouioJblY* zKc^`^1^Bb783lI2D5HB1u!axXc(SAkl&DMyKgdMrc5A={1lt_5g_L{&^q}&K^e*x< z4_^Qf<~B8SD6X<^#RVS@=UOhutNZ)UX};gNxRikBzkQnuGx(b+uy`ZQ2oQk&ZodiA zV!FZxfe^Q0y>3->e)+d9706-H`L?A|Wt~Uy1y*)DmQ3DrAYMJ9KTf3ph|GuYV;J4{ zVsX(QuG0Z|ikpZghe&n{;4gO82gs)2&#sr!$luEEA_L`jYke(^eEfESg^ zoo`KU=Sy4z9!=oTFC4V)E?BokmLWtuTw#(mc$7fFA@b8CAhB#U<2QMK8hdFU#)OYF zr6@pObjhxA$K8xhb+jmslP8%Kj^dc?IN@P{HlG~&SYq$>_ADb6xcU7JrNmlGuzXVQ zpMS0MupcboIOB5|p!{i^YbMa&k4aaDi5R@w7(QBkIvfTQwH4folgVZHkjF(b{3!YP zkx(4m2wP;s>BfHk{7VZlk^5pjie96g`uYprtv7CjtQ4D}yGsKkTcs3T`kR$GELu@B z@V!UgvL;5_%WS>+6sPMSsV^yC)&IDWSlrF&Hf&w!KR8p^A)So+>YVF+_(exrM7e87 zY1K_LcY7DJ%sJY~$oI9d>U!t=;Q~c!3}GMdyJn%DunK5=^D+`!@rFoFY{tI=Gbm#Y z1ke`n@9gebJ*i)g;b6WBim!)=Zbl7luL{C#9xBH&z+rc?m!XpRzU8WT+{}?9I{y?*xc9!!}|LSyLWm4QB$MU+Fj6y&*-rE z{G{1f7qVRRq+epk3azM$Wp<|#b>0{^!o25~4Zoinzf!tx`ge@w}{}(W*V+6+1u-`dC~W& za&AQFnDYu@vvAT{OqR5XbN{j3(jrbS`S-Xg~ooFVp$@>LK-pt ze%ddPx%THfoANhm=ZySzTf4a~CjX}?snI&8P6oTb=Es{a?>~OYQW&jzaRt)bjRKxZ zGxZC)7rP2vWk|;6(0K z3$jiNbyx?IVH>!SeqMQi9u?cx*|RE23=tcLg+0==(7;z-bAZ&t^gCCG$kpaX#HBfj zhcNu2&43yWR>;HArYxt~_G7|K zz6~t|&YX%kVrs%1EH!&?&US?iPO?Ojoup%Rf06F%?z~LN;Ei@LqJDV0{TxP!yRCnl_?y-&@O;c3+5RyLp>vms9M} zwrqrKR-M)H62G=)&5ceMN)AgE$ePVO2g_`JLIsFC`m(k{txCL`5)Tdvk<_B6tvrH7 z{G|$=&busR$bNM)LN95Ff|97foi-z@iIC!n82?5)l8K|RJGoJ8u>!1~EfN|dqI%~e z8q0*urgqhaRQ)e^YSe6=ldzIvetk-f>h6CS6@x{pS|05+&fju^>TfWj`$7?bv_D$h zEk(>Y`{$IT!%T_aaWN-$qoGwqu#NH2t`IyVtf2a>Gir zg`@37VsG+;7{B42L4cRG5vwpv8Z%4l82R)*qqJF?Bqr*Vn#OlJe(um$qh(fyUQ1m5 zo`}gCVc%MrVO>q0nugHCxS~KaJ%$@g-#8$GnecXTUb3i zbSX~3u|-H+R?M_=eR zf5HVNc4l=vnzz-67}9o7H7tHF_8Qy8n6Zqa8qz!Rj$+3Q(axE`>E(s5|C7nTkG%P9 zor>JT>Mg5^t_}+NB$-7;S1|pR+;(5fB)%L?C$e0LBm92i#ZN4!Il(3oCN!N_EJB#z zu(ITq$$5Q=@=v0kEw@Y``pl(6=R!4_Ohb^9;{55c>tg0kqD?FoCvHdNiQvh-hE$yr zXtB8$L1vR59Mk7KITcxcdlqUD*~4LT=-qW8J%Rf$4-uGQGfhl7w8P^M0kWX>R3~p9 zLmP~ya01E81J1}X;dwbKVaXb+&}YjGx2CRkoPV?&iWxT$8O%!A-e%DkU2ZJoJQ@XF4@x|RFuXY zHHcc_oxl_SNu3un7;JrO?;{pW;WH3vZ{%n|G&drjA5#`GJxV>0iwzSRlKO3le|Nb+ z$mt+OFUOoZbO*z}KLNI>i3Zm^+UL0s&8=d+RH?~Vi?B(;lY7Zlh=HU53y1`z8&rX` z6l(KQ^U*UkipxI;?^T$TFE?m^EDk5Qe(P7YBcECtR?O^XQA4*!+Rv$9NdIdGNc^ta zYK~`D>u1MZCMkJsyxw^I&?o8gH9>T{ipu0#j}VM%KRBnLg+Z&KM~=BibK{ZjTc0z` zFK+MV*pSwj3Okd!ols^WKBf4uF)D}kRg7@=mtzJ=(o-J9Xif;L^jW#~Ar58Rn;210 zzYuTMA01we6zWaCbCPw<>Ke*BYb1IL$;WmWGI%+-n`9Nm73^Yy6$AFvU5m(p16I zVHx{)JR&VH=}=H&ZWG()Gu>;ZAG#f&a1_I(l$V4BC$dJsCpAtvi&bhoQut3U?FAmn{Q`QU1@!C+> zn{~L=jllrFpu4>cA=t`5;lUZX)v(f>zOXIandmSsDjuu!F0@B#+GAMF_29*E?ELtl zZ&Fo~Gduo)LSHeKfH)FB)u|1cRbLfZ6jl+c55bp_iU=U_($n1s$&jJ=p{Zj%G7DKF zV+~d0bh^~_L-#{M(!i{S_*}^0@XXAzxd)H$3%?~xqd@e-;sVuF*kArXHif;Ndw#Lh zZ!VYi_*lRPm7Hya+4jpUK9jcGe>>Vl#fL>Q2(H1`2Wj=q%dK_PLn{0CY^;`wNaTZ7 z9LL$3mkS7=^&xJG33bSs)pd7u@sn7weJ&t2ujn#z>bU4BQ^jgZs_!uW|<~t0cBMGmwC{Q=dRTM1Je)lF#>&J z&-#=?LlWNJ!M4U`X~zz@vleZ zdcPb^spp}$$@pD=5>xx**MZB9>W;(W>B%kF>tjLA1)?UB*H@V)xE`OY?!VgbC_;GO zP51uJ^=0v4mPi9+ivw-pneJutT7-$@(DjK)bCiEm)1a*Rpwv2c73`5xL(PHcrh1MO zoG>>|4q`dL;qY)Zn{4JMI8Qr4!s6+hVOaEZ!Zf6m(eA`MF5Bnm$U(u%4H5r~KT(mn zIl3VU-I=sVMrm>c4?r1>d;Ei3t;k+#)ZV$k7a~d+M{hBQzB0IaL6}Lt^Ucgz-{iGE z^4~+P#T~pPabg!Lyq#ojkIA_VZn*aUxcL!vI4HICBhmPTJg?mCr~%8?A*#c4ZnHp3 zrWtXiy{PH_jzz`02_emceM<>`Rm0E=cS16=qtKlEo492XVd!0b-T;u2a0e@r#M^RMw9JMz`8M zw^kT9PFkALq`+0BOZPBxy*bpvM21We~TS#g3&ccnA(A0dFN**}vM6NKR z@!RlZP0gMF#=U=uciCO^xY?-9SwD5SVJ-fW!qQH7un6gseBSUdktS;V%WpT8Vt*nL z*-HH=0l5qqTW`pSdBDD!p_K63J%ty0a|NAwjy9dWROB374P}R~8WZ!KY||2ju}?yc zjOb><4*Eos%&fm36WyAI#CU1>9gmRyh#7d_%slh-xNS|~J4mvRj4SrAK-peCNMia|{$$I{<_MlrDza{ZvrF@r$WGKyK44G|plrek&;=8NUC`7=<|$tuClCN>+#ecaJd9`UAYajEk2=G?la<5P7OTEn zouM=%M0)C6MG=J+lY%-aJMVK3QtQ=anV7ez&@CsdDEf$IBuap3=d9BA&}zK?ZfTP& z9}1f0syO>3xvPjLpkhm7W~R3@+`~RxJ#QEKGN$*txIp1W2t>Hi{N=MYsvV_Uh?1J_^j5JJOd4_#mM@N zG)W5<=8GP8pi69N{7D8J*>;C6gd?~PQ~EZ!6O_%iFF#bj<)rhM2sg~L#x!e*mMx~Y zdZefj%z;U?qe>VU{bI{{VfFCvtnEh^#tF51ppqJaINVOFK);lYLzRW~DpPFW8>GOJ z(46&QXtWh8es1t*hZL2q*xRCZK1Jv6s!^stp(!v=ppBsvs(BoQ07XbPcT`h$VLxV2 ztM3oXMYebM_bmMi<}c1kSIF8C=wGuizwujKm15`gBd-o>-KdHs&#n?xgRCjG#=wg0 zr_avV0{q~=^iFjA;AC(mKe!R7*hCa$3Y?woVKnrrLv|4Z(!;U}c0R57M9l*Y(He1w zjx^FQ2WW-50`V(th9Obw!)l>bfe@f^+2<;#i9ro>OVv=*4*bkl_U~;CxanAK zR&6OdH{?q@l2W$pkBxFLE-8N@dKquk$bWFtH${7H&oSf8?r-m6Icjpf41+V7)_SDA z>dE?QZJe*3D+q|3t(c z`Zja6RwXfhbNS&w69ndO^%$PdUC3hD7-%+w-q1Nei0-FZE3Hw3;kSG`>`yGBo#Tt)GrNZ%o z;}I?XJVBT&#QbWZ z`}lYMz-kx5u_#JWU5cSOfA}dM7kR+4|F}P7+q1u-IF)v0@-1cuHfbastp^^c7t!h7 z@p{Q`zhFuGWA0!`S-Jx>h_;+jaPn|sRkEe=?5gdvH`~)&K|w4>-@WV@j`E9)t*KSf>p z4PqQQuCSEw1JP|)e~F={73?W9YrE21SN~)8q8E=acUq8nvANE!QVT1)P7dQR^DIXW z8^J)mMMJHQ<#$C*S&$mc_~vBE8+PmM3jRW&ed&qa{_^r1Od(X8s&gje>}+3U1e&`(xEyXZtz==na_5ObfA0JY+fo+b87XHq(9m z5FX$0ec;d}2qeZpj!~A!r2ELixwZ(5?d}#4#InU4vp|{=n6-;Dg_%&d>D{p|2V_lb zjJd8D%WL22eXLPuXN}r1Ur(X)2YsVtA;^sR#O~SN&hXiCpP@bk;d3s125-bT+o-BH z>GfuGA(LtO7bDhYI-3{*9fAJiuZpR_NMJ-&-fP_vBV6w!8CfL1dpP!jD_E zV{Zg8U#jDSi|msm3~lli&3DW+l;3!emkqcNxyd#QmphdM}kf<+1M3f0~#CyVwvc@b>Iui4?; zY9xHJQcSxcuOqVMKUQAeMPdy*ZNOf5RAH-e;k3a*^j=0VWDqsC`+UdgXlt1BdgsY@ znjfqB*Y|B;p<;v@5kdZWfR0P|MWhP3aK_6rZkDf0uCTx$brXakh|@1=Ose1wfn8E4 z=dQy6*68Pqe|q1VlK56eSMz6>|Iwr*8@svrne=XFNYBD3HAY)2oipwa8%((}98R!p z=DV6R*Gj+=nH^#CS>TOu>K5rcCrSy3A=mZKKJK(;9BQw9@X8F|g`c0^6jYmhf8RD@ zn+6rC5ny2~x`IJ)^HVv4sLRJ=H)^u0b-%?(p>5{)U-E;Ast1lfx0rtG7e<=qna(d< z%Zc^+ad}vBmDCGyh^FF{mL{3G8W2colOr4fPoT-K2x##{*1iFYl{JzaS>&+R)BCDn zgfsw27;gv)+2Jv8zW~t9wLL0!#}weOZJ-C@I2R*Z2_Il;$M_<6${!hm8_7zcr|d>? zN>~H}=C-p@WhkaS)A!^+8B*&n70Z0d#pYw)pm5p1OKc-N*I@@&+o=v9ox@=aUbE3Y z0EHL?YUIzRwVubPF1E4lIf<7eI0|2mgvUmf2GQwa+_nwxbl?X-~ zAkG~Yy1%r80l>=1O@7(Y8#$JCo_k-knxc9GK)qN9z=t?!3T^ScrR@wD3xm9;MRzxB z++B}}uPUs8HidLZEQEh!-q)-iY(u}-C*jbV4L7p|0gD0Y-gQAPPZUI$zH952aXX_w{>S|EAF{5eomB_NfX=B~M*n94T zahUvS-d3gj&$IoJ5>tZ<7idWz%RkU%-ASd+d$mDo01ER`iOs(RuG7ycyn3Dyp}|gF zdE#=GmO#1zz!V!4ix=WWMCUk0mJ|h#)kr-|WjVR;y&Ftp393b(@bCz%Q`zlF4l53; zNjw%0EX`T4`4QNJ4t3ebI(KZZ^NP8TSw_{FbXd;>-Qn{UU01nPRJrY;WhehcEjjAl zG1{>TUl`N4+wY%36vuuO-Ma8Z_9QnQ^j?em$;{Zsxk-XO8T;XnS-?$4nL=!>CElLdZc^M)F!y6#7sLKG>8LzGiA5 zj{S$$UlF|oGuxRB4J8a2bD^<}mbk*bLH4qTmJ#tBpGzFS)=|GB()G$_`@W65KqG?3 zPS`q*SO3+tUc-qg zD$Pk*f(-sF7!=LcCg1O!@wz;$De_66d!dr`WnM0URVbsb}L>-JzsFzbM(nVk;`cW zozYZ*B~Jsiud0E32?(z8e|*$J%{iZ$cY+ct%6%>X08HOo-;JQ@)MDFgHj1F4+n@9LW#2*_8)WZNMS6F}k_?2(E&vMEa zezcUvk-n}XB6XKob%HgWX>ItC8ne+21toYXE`K$}69Afxg)@lLhN_jG_+#C>!??Nq zj?XN}NmLcRQ3=gB(4`Gm3!tVsu3QdIuv$+UeHLS@^!PapL6fx08P*M9t2)c!Yc^*u z91l{KPFPcaI)gr*i5}9K*$>7-RJQD9*s<;+SDv>)_~lt|Je;N!{)AC&YcffH)^lrH ze%o%4o3^~m>z6X2^K=K|WWfw7O~LFx*XG?L%4)N)^fyvT+(pq;p%fw^ia$MHOCUFG zPlV9CLYcWcv8_y@(nbQ)2`US{#U%Vh_pV`e*_rJnlM+Flvwp{=AcOe^_`tiF<-@Q` z`z<+k8Lq?KE`yt;ijet?`YvtHTo2hn(XweYlDu<-8vl3`xlGJZ^iAmO>E&K$b^p7a zIlsG3?PJTvOm#YD4v?v>Xeq#ecU2w)|;R&oMld*_BB==PRUg?ZKpqNJLZ68 z+b*ndS=!TojZ@qrICn%cXlxhBg43r%IFvtI*{ zc1KrUqV?s6pm-vI9gR><1v~+SzH7ktWAAtZ$np1>OqXrICy)ZM3g;(6W{2^etT$ij z+7!Cu3QpGNvm!tJ{y{P7c$!HrIm5jAGDX_S`jYiWp5%IZkXTxT0g2*~5LdI>Rf5W& zitTe**XA~rSYYyQ-*bH2zSjsAvL-)?Mg#}lTlJx_V>t1BPxG)R<8+bTb=kc)S?CMF zO9__In)D<0qU)Vun2NE;8BipeiQWLqHoy4nmU=<<&g!B21nCkHY??9mjbY;sNc?tD zbKu11_HJtkcgcI3+d&WI=K-?M|L=r+NoeOl10stwA`5DRNV-E)ydz9E)*N zJ_p^dK3wm{+{)l{ty8*oc-!&*&d`b(l=>=mcnTE7Qe;pA{5t}Z!r8fv$&CqLdn{hs z|A77}_m}O$`5~d!S4}dbrtS*U(xW(Z?JLv}p8vUA$XMc322rJ(zcg&IPsg2L0Y}+3 zj z78$6Pu7BJ=({;KG3)K!jlZVKyZamTY)iZU7+H;eUrBDch#WnB%Q2jyG&D!lrgJXdpGn=p~(ysa}T%x~sMY zgxB#n&qvCr+ZL|o-k?(KmkqhQUhC5l%XL|e`y%pWy3XS|RYYxJ~fyWJ1 z*%3{0{-z`*`;*;WyoIUcO1L$z56{eUPTG5-t!tj~pF`r%Hth9`lTYArtq(S8&&7IQ z1#Ihnzo(m1aGQFM%c;$KiiIAKIp75q2k|PQ+*nvT;plgqyWLZmB6xRa>7VMh5A5Fx zsmVokevucU-wDiGrl9gNsvXmkXkR<{Jgo8fs7IBwZjEO_`6!_Sxm%AbCIVG#8K{x9 z4=mk4$Ur~nS7^h?W!$OJLRfrnGjTBTHLk&d`AM>SM^QR@XMSKsQ{RTLLMSITt2Eok zcbJVPL%L|-(Tu8Vj+3f4{&OBnK6n4LvZoze^qTG6c{;$?jwxUIoE2@~eW~N(36ZYn zYUFvQ_cSA!6AaW~yar<8IUL@bUr_@cnZ8N;ENjul*6~4v;}RbM^y-w#;@5o&!Vdi3m`#aMu}ZNl3txrgh17@Y|;9*dK*8ogJ;T z0hN&h4}FIlqXBu`PbN+_*kopqyx6@rZX2NJD+UzEC3Y@&`GMKrCl(B#t=oe?-(%!e z&RaQlN@!pDYjlfmQE{bVp007%z<#iX+Jo_2~L|KzUU-8O;Jg^S!1z!vJeOlfH1l|?_=gY z`N47GEYAhvXt+5?6=pl8ohD6z#F;kWXS(~g6QT9S6F(RDD zSchy`hlt6NeR;B;F_dZS!?B%v&N-CxdU^hWXMVco{@&l~{$Ahvb-nJ_{k^Ww`zF{e z#AR=dscLc8wXb#w$5OLcUa0n@rq3E|gv>ZllqsCf3L0kZBc0=gHnM70{d~zmLUFe| zftR*-rkLAql&=$|qSguVNyvw~pS%`eq+XTY0>*4n`l25|*0D}o_OY!w@8?B=)B4!- zUVHR0lk~IFC`lgVQGlY!PMk5WGgIt6y-ba@>3?}9U3!~-{swJE)R3; zmkLS2B6D}f&j*Iux?FN9siLY&DKXHwcXK(jK+vjn*AA7T-!emWx&+J~p+Xvn=06h% z%nfCBHaeP6jgZRIUrh?qq zakc6iI7kb+I>YPg^(L$}1(2boTbO?nuTWfS)rf3_$<)faHJA(HO{HaAs_Wp(5(IuJinsGZ|%NT*j9Q*r2J2r`sE+(%f2QjHt5D-Ew0eKxGX&j zB~CroSg4lC%?W!wC;iL?+yVf{k6ZR82PR5RqfKlD&)QB@G=M})hu22BSN*%jNYiNj zG`Ud$k*#19Z%2;91Sw{;G-0fe<$XH?eT_0odatU5Lt{ur*7GPZ5!mzSbaf!6n%$)0 zQ{i>XUPxQo=OhrFi{1=;C;|Oql0QoX?|xG+_?h6qjU|hwV8dI$l+3)XDPx-F+j7wm z(y~yy*lAL*PPrTZEYi)@-6aY0VZAd{XsiQg9>f&b14eP(%D3Z{U{9KYx5MDX&g3pGY?p zjEWkC$1s)cb{X|p_bJXazYItpkze<6BQ2>~CJ5P8J{(0Sl z9%Em&$!vv%_|3ipM>jdB?C7M(3dq0Ph<58Nfw0yUvTlctZ7sL_%&qSNlPHjVqE)*^ zG1Sgapke;)ZzokCi9(+ za=TBq;uefY=i(i32SnaazWQR7qZWjO^M2z6Fg>eg$Uw~aow8wc9?;p`cm)n$9mJR2!sTOBUnZkuztUa4}FP~aMUq< zC~XAWT*lw@j)9_niOaqBD3!eKko`)h$aq7%w}2Q6=Aij6J0gs1o4%fn326Otcw4G< z*z@u0e`l=cb;#Rg283orfX~4RwQVPl_5eHSkcy}WbFG9#QP&#sJ&GwL@EBO(4b;#Z zS9C5*RZY|mP#hgMQ+fQ2du73~)JN27Dzz&KsAd`sRgypT(@|D0KT`)r=_sEUDP?zo z`un3=W?wqA0FD1jqF=vdC0+fupmCXg1 zuGItR2(^7_Z-ww^i-Ug)d`? z|C{ZwEXN=cUf@}2|(GFzi z#_x(a_frq{01=*|08pWdyXL|_fiQc0{nhw?k9#Qt8k>O_Zxa?KrXcOSKxg>z4@V-F z&N8#Ga`1_12Qe`k2$q=eC|kvS$M%eTYe(HQH(hi24={gVJ0SxPD>2{6CiuFpB|!A(lfpe{}h4K#U{xxS**Cv|04` zVeUImTWZ|*!wlQe-5l&QG6icfw=|Ari|`*{HmF~S`@|*ncmDSKGP48%`K&WkmN>wS z4Vn_q6f*c8>Yq1Zx07ukpMfb(x(ApqFt_~cvO@Acm+wQ|1oFA9(id@n8NqUhE~Q?F Tn0pe=1pKb*8R-^WvJd$Km|z*2 literal 0 HcmV?d00001 diff --git a/docs/administration/gitlab.md b/docs/administration/gitlab.md new file mode 100644 index 000000000..553c08f98 --- /dev/null +++ b/docs/administration/gitlab.md @@ -0,0 +1,66 @@ +Drone comes with built-in support for the GitLab version 8.2 and higher. To enable GitLab you should configure the Drone container using the following environment variables: + +```diff +version: '2' + +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:8000 + - 9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + restart: always + environment: ++ - DRONE_GITLAB=true ++ - DRONE_GITLAB_CLIENT=95c0282573633eb25e82 ++ - DRONE_GITLAB_SECRET=30f5064039e6b359e075 ++ - DRONE_GITLAB_URL=http://gitlab.mycompany.com + - DRONE_SECRET=${DRONE_SECRET} + + drone-agent: + image: drone/agent:{{% version %}} + restart: always + depends_on: + - drone-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - DRONE_SERVER=drone-server:9000 + - DRONE_SECRET=${DRONE_SECRET} +``` + +# Configuration + +This is a full list of configuration options. Please note that many of these options use default configuration values that should work for the majority of installations. + +DRONE_GITLAB=true +: Set to true to enable the GitLab driver. + +DRONE_GITLAB_URL=`https://gitlab.com` +: GitLab Server address. + +DRONE_GITLAB_CLIENT +: GitLab oauth2 client id. + +DRONE_GITLAB_SECRET +: GitLab oauth2 client secret. + +DRONE_GITLAB_GIT_USERNAME +: Optional. Use a single machine account username to clone all repositories. + +DRONE_GITLAB_GIT_PASSWORD +: Optional. Use a single machine account password to clone all repositories. + +DRONE_GITLAB_SKIP_VERIFY=false +: Set to true to disable SSL verification. + +DRONE_GITLAB_PRIVATE_MODE=false +: Set to true if GitLab is running in private mode. + +# Registration + +You must register your application with GitLab in order to generate a Client and Secret. Navigate to your account settings and choose Applications from the menu, and click New Application. + +Please use `http://drone.mycompany.com/authorize` as the Authorization callback URL. Grant `api` scope to the application. diff --git a/docs/administration/lets_encrypt.md b/docs/administration/lets_encrypt.md new file mode 100644 index 000000000..f608e5f8b --- /dev/null +++ b/docs/administration/lets_encrypt.md @@ -0,0 +1,38 @@ +Drone supports automated ssl configuration and updates using let's encrypt. You can enable let's encrypt by making the following modifications to your server configuration: + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: ++ - 80:80 ++ - 443:443 + - 9000:9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + restart: always + environment: + - DRONE_OPEN=true + - DRONE_HOST=${DRONE_HOST} + - DRONE_GITHUB=true + - DRONE_GITHUB_CLIENT=${DRONE_GITHUB_CLIENT} + - DRONE_GITHUB_SECRET=${DRONE_GITHUB_SECRET} + - DRONE_SECRET=${DRONE_SECRET} ++ - DRONE_LETS_ENCRYPT=true +``` + +Note that Drone uses the hostname from the `DRONE_HOST` environment variable when requesting certificates. For example, if `DRONE_HOST=https://foo.com` the certificate is requested for `foo.com`. + +>Once enabled you can visit your website at both the http and the https address + +# Certificate Cache + +Drone writes the certificates to the below directory: + +``` +/var/lib/drone/golang-autocert +``` + +# Certificate Updates + +Drone uses the official Go acme library which will handle certificate upgrades. There should be no addition configuration or management required. diff --git a/docs/administration/prometheus.md b/docs/administration/prometheus.md new file mode 100644 index 000000000..4e2c2cc46 --- /dev/null +++ b/docs/administration/prometheus.md @@ -0,0 +1,162 @@ + +Drone is compatible with Prometheus and exposes a `/metrics` endpoint. Please note that access to the metrics endpoint is restricted and requires an authorization token with administrative privileges. + +```nohighlight +global: + scrape_interval: 60s + +scrape_configs: + - job_name: 'drone' + bearer_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + + static_configs: + - targets: ['drone.domain.com'] +``` + +# Authorization + +An administrator will need to generate a user api token and configure in the prometheus configuration file as a bearer token. Please see the following example: + +```diff +global: + scrape_interval: 60s + +scrape_configs: + - job_name: 'drone' ++ bearer_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + + static_configs: + - targets: ['drone.domain.com'] +``` + +# Metric Reference + +List of prometheus metrics specific to Drone: + +``` +# HELP drone_build_count Total number of builds. +# TYPE drone_build_count gauge +drone_build_count 7275 +# HELP drone_pending_jobs Total number of pending build processes. +# TYPE drone_pending_jobs gauge +drone_pending_jobs 0 +# HELP drone_repo_count Total number of registered repositories. +# TYPE drone_repo_count gauge +drone_repo_count 133 +# HELP drone_running_jobs Total number of running build processes. +# TYPE drone_running_jobs gauge +drone_running_jobs 0 +# HELP drone_user_count Total number of active users. +# TYPE drone_user_count gauge +drone_user_count 15 +``` + +List of prometheus metrics for server resource usage: + +``` +# HELP go_gc_duration_seconds A summary of the GC invocation durations. +# TYPE go_gc_duration_seconds summary +go_gc_duration_seconds{quantile="0"} 0.000189189 +go_gc_duration_seconds{quantile="0.25"} 0.000391444 +go_gc_duration_seconds{quantile="0.5"} 0.001895967 +go_gc_duration_seconds{quantile="0.75"} 0.003075854 +go_gc_duration_seconds{quantile="1"} 0.004224575 +go_gc_duration_seconds_sum 0.019922696 +go_gc_duration_seconds_count 10 +# HELP go_goroutines Number of goroutines that currently exist. +# TYPE go_goroutines gauge +go_goroutines 24 +# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# TYPE go_memstats_alloc_bytes gauge +go_memstats_alloc_bytes 2.556344e+06 +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# TYPE go_memstats_alloc_bytes_total counter +go_memstats_alloc_bytes_total 2.0479656e+07 +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# TYPE go_memstats_buck_hash_sys_bytes gauge +go_memstats_buck_hash_sys_bytes 1.45144e+06 +# HELP go_memstats_frees_total Total number of frees. +# TYPE go_memstats_frees_total counter +go_memstats_frees_total 200332 +# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started. +# TYPE go_memstats_gc_cpu_fraction gauge +go_memstats_gc_cpu_fraction 8.821705133777562e-05 +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# TYPE go_memstats_gc_sys_bytes gauge +go_memstats_gc_sys_bytes 557056 +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# TYPE go_memstats_heap_alloc_bytes gauge +go_memstats_heap_alloc_bytes 2.556344e+06 +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# TYPE go_memstats_heap_idle_bytes gauge +go_memstats_heap_idle_bytes 3.842048e+06 +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# TYPE go_memstats_heap_inuse_bytes gauge +go_memstats_heap_inuse_bytes 4.972544e+06 +# HELP go_memstats_heap_objects Number of allocated objects. +# TYPE go_memstats_heap_objects gauge +go_memstats_heap_objects 19986 +# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. +# TYPE go_memstats_heap_released_bytes gauge +go_memstats_heap_released_bytes 0 +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# TYPE go_memstats_heap_sys_bytes gauge +go_memstats_heap_sys_bytes 8.814592e+06 +# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. +# TYPE go_memstats_last_gc_time_seconds gauge +go_memstats_last_gc_time_seconds 1.4941783810383117e+09 +# HELP go_memstats_lookups_total Total number of pointer lookups. +# TYPE go_memstats_lookups_total counter +go_memstats_lookups_total 325 +# HELP go_memstats_mallocs_total Total number of mallocs. +# TYPE go_memstats_mallocs_total counter +go_memstats_mallocs_total 220318 +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# TYPE go_memstats_mcache_inuse_bytes gauge +go_memstats_mcache_inuse_bytes 2400 +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# TYPE go_memstats_mcache_sys_bytes gauge +go_memstats_mcache_sys_bytes 16384 +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# TYPE go_memstats_mspan_inuse_bytes gauge +go_memstats_mspan_inuse_bytes 81016 +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# TYPE go_memstats_mspan_sys_bytes gauge +go_memstats_mspan_sys_bytes 98304 +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# TYPE go_memstats_next_gc_bytes gauge +go_memstats_next_gc_bytes 4.819216e+06 +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# TYPE go_memstats_other_sys_bytes gauge +go_memstats_other_sys_bytes 672584 +# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# TYPE go_memstats_stack_inuse_bytes gauge +go_memstats_stack_inuse_bytes 622592 +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# TYPE go_memstats_stack_sys_bytes gauge +go_memstats_stack_sys_bytes 622592 +# HELP go_memstats_sys_bytes Number of bytes obtained from system. +# TYPE go_memstats_sys_bytes gauge +go_memstats_sys_bytes 1.2232952e+07 +# HELP go_threads Number of OS threads created +# TYPE go_threads gauge +go_threads 9 +# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. +# TYPE process_cpu_seconds_total counter +process_cpu_seconds_total 0.9 +# HELP process_max_fds Maximum number of open file descriptors. +# TYPE process_max_fds gauge +process_max_fds 524288 +# HELP process_open_fds Number of open file descriptors. +# TYPE process_open_fds gauge +process_open_fds 17 +# HELP process_resident_memory_bytes Resident memory size in bytes. +# TYPE process_resident_memory_bytes gauge +process_resident_memory_bytes 2.5296896e+07 +# HELP process_start_time_seconds Start time of the process since unix epoch in seconds. +# TYPE process_start_time_seconds gauge +process_start_time_seconds 1.494177893e+09 +# HELP process_virtual_memory_bytes Virtual memory size in bytes. +# TYPE process_virtual_memory_bytes gauge +process_virtual_memory_bytes 4.23243776e+08 +``` diff --git a/docs/administration/proxy.md b/docs/administration/proxy.md new file mode 100644 index 000000000..968aa7c26 --- /dev/null +++ b/docs/administration/proxy.md @@ -0,0 +1,148 @@ +**Table of Contents** +- [Apache](#apache) +- [Nginx](#nginx) +- [Caddy](#caddy) +- [Ngrok](#ngrok) + +# Apache +This guide provides a brief overview for installing Drone server behind the Apache2 webserver. This is an example configuration: + +```nohighlight +ProxyPreserveHost On + +RequestHeader set X-Forwarded-Proto "https" + +ProxyPass / http://127.0.0.1:8000/ +ProxyPassReverse / http://127.0.0.1:8000/ +``` + +You must have the below Apache modules installed. + +```nohighlight +a2enmod proxy +a2enmod proxy_http +``` + +You must configure Apache to set `X-Forwarded-Proto` when using https. + +```diff +ProxyPreserveHost On + ++RequestHeader set X-Forwarded-Proto "https" + +ProxyPass / http://127.0.0.1:8000/ +ProxyPassReverse / http://127.0.0.1:8000/ +``` + +# Nginx + +This guide provides a basic overview for installing Drone server behind the nginx webserver. For more advanced configuration options please consult the official nginx [documentation](https://www.nginx.com/resources/admin-guide/). + +Example configuration: + +```nginx +server { + listen 80; + server_name drone.example.com; + + location / { + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Host $http_host; + + proxy_pass http://127.0.0.1:8000; + proxy_redirect off; + proxy_http_version 1.1; + proxy_buffering off; + + chunked_transfer_encoding off; + } +} +``` + +You must configure the proxy to set `X-Forwarded` proxy headers: + +```diff +server { + listen 80; + server_name drone.example.com; + + location / { ++ proxy_set_header X-Forwarded-For $remote_addr; ++ proxy_set_header X-Forwarded-Proto $scheme; + + proxy_pass http://127.0.0.1:8000; + proxy_redirect off; + proxy_http_version 1.1; + proxy_buffering off; + + chunked_transfer_encoding off; + } +} +``` + +# Caddy + +This guide provides a brief overview for installing Drone server behind the [Caddy webserver](https://caddyserver.com/). This is an example caddyfile proxy configuration: + +```nohighlight +drone.mycompany.com { + gzip { + not /stream/ + } + proxy / localhost:8000 { + websocket + transparent + } +} +``` +You must disable gzip compression for streamed data otherwise the live updates won't be instant: + +```diff +drone.mycompany.com { ++ gzip { ++ not /stream/ ++ } + proxy / localhost:8000 { + websocket + transparent + } +} +``` + +You must configure the proxy to enable websocket upgrades: + +```diff +drone.mycompany.com { + gzip { + not /stream/ + } + proxy / localhost:8000 { ++ websocket + transparent + } +} +``` + +You must configure the proxy to include `X-Forwarded` headers using the `transparent` directive: + +```diff +drone.mycompany.com { + gzip { + not /stream/ + } + proxy / localhost:8000 { + websocket ++ transparent + } +} +``` + +# Ngrok +After installing [ngrok](https://ngrok.com/), open a new console and run: + +``` +ngrok http 80 +``` + +Set `DRONE_HOST` (for example in `docker-compose.yml`) to the ngrok url (usually xxx.ngrok.io) and start the server. diff --git a/docs/administration/ssl.md b/docs/administration/ssl.md new file mode 100644 index 000000000..bdb7c0b73 --- /dev/null +++ b/docs/administration/ssl.md @@ -0,0 +1,77 @@ +Drone supports ssl configuration by mounting certificates into your container. + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: ++ - 80:80 ++ - 443:443 + - 9000:9000 + volumes: + - /var/lib/drone:/var/lib/drone/ ++ - /etc/certs/drone.foo.com/server.crt:/etc/certs/drone.foo.com/server.crt ++ - /etc/certs/drone.foo.com/server.key:/etc/certs/drone.foo.com/server.key + restart: always + environment: ++ - DRONE_SERVER_CERT=/etc/certs/drone.foo.com/server.crt ++ - DRONE_SERVER_KEY=/etc/certs/drone.foo.com/server.key +``` + +Update your configuration to expose the following ports: + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: ++ - 80:80 ++ - 443:443 + - 9000:9000 +``` + +Update your configuration to mount your certificate and key: + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:80 + - 443:443 + - 9000:9000 + volumes: + - /var/lib/drone:/var/lib/drone/ ++ - /etc/certs/drone.foo.com/server.crt:/etc/certs/drone.foo.com/server.crt ++ - /etc/certs/drone.foo.com/server.key:/etc/certs/drone.foo.com/server.key +``` + +Update your configuration to provide the paths of your certificate and key: + +```diff +services: + drone-server: + image: drone/drone:{{% version %}} + ports: + - 80:80 + - 443:443 + - 9000:9000 + volumes: + - /var/lib/drone:/var/lib/drone/ + - /etc/certs/drone.foo.com/server.crt:/etc/certs/drone.foo.com/server.crt + - /etc/certs/drone.foo.com/server.key:/etc/certs/drone.foo.com/server.key + restart: always + environment: ++ - DRONE_SERVER_CERT=/etc/certs/drone.foo.com/server.crt ++ - DRONE_SERVER_KEY=/etc/certs/drone.foo.com/server.key +``` + +# Certificate Chain + +The most common problem encountered is providing a certificate file without the intermediate chain. + +> LoadX509KeyPair reads and parses a public/private key pair from a pair of files. The files must contain PEM encoded data. The certificate file may contain intermediate certificates following the leaf certificate to form a certificate chain. + +# Certificate Errors + +SSL support is provided using the [ListenAndServeTLS](https://golang.org/pkg/net/http/#ListenAndServeTLS) function from the Go standard library. If you receive certificate errors or warnings please examine your configuration more closely. Please do not create issues claiming SSL is broken. diff --git a/docs/drone.png b/docs/drone.png new file mode 100644 index 0000000000000000000000000000000000000000..28a16246361567c2f36b9d9f58eb9a36854200a4 GIT binary patch literal 138938 zcmd42WmHsM*al1}NQ-nUDbmc)Wq^nvph!te4BauqP|_XJ4N@X4-QC?abV*ng{}ng_Qzo6pxVsSUW{ugq8J?Q`RpYW^_RPLhenG5k=H@SadFZXd$k`T>c7 zH!AzWV5dIXI^4Br8<|XDLR+^{!}*Z#|82IRxXw+{jkyGw^^@$lqMy=}1{+qCWcs`%kCzBclit>_Dm+7e26iIjXNCgc^RsQCW#i9D$?d zWTB(_`0vLh*e$_6Z37-Y`^-d@oH_**oqzvIPcLD<2fp7y=G!r`o;sUq!~TDMCEo-0 z^EYsV9kWd~O~ET_l7F{Vzy1*9tCiOS3)^a-&^35p#|4+wD``xrzaJ_zwd~i?c)8-c zo=DW6o?t{B^w(JZ{jZCwZQYE`(^v|beyfQs5@T%wBDE8>UDRKDkvi2G@>u$cbXGvcB$+nTl=!ZBrkYpcOUt}9PLbQ zr*1bT#0=Vt#4;K%--q&ST3I}SuiG1S2sMo4DZjE1ipC(C-+Ns!&H1;8R6{s1JNXmw zg4$a~vSg=kn=#c2R5UdcYCz<;1r{hhgE7bvS+2v~l8k)KYV64Fv6 zEEX1)d=<8kkPt9<0XR{~BiUGAp}QXR%ZFbW`gAxxl~rJxB7UpNvAsHal_Fa&mm4L|>Yc zm35m-xWes*ZD%T?BOU~)5%`bJz2W+G6ugpDWD7kRzw6ND9-5l+Z`L(V)}tn+3Ba;#eZ)aX$_cNnq z&~vM3%=EqH)W5sjn2t-4)z%Xt&7dQq)#&}ndh4jEO0hX8(b{oypExR7zqvHICgExU z7GB4D5Ej=pN5JvfSyH;$5u&fX469u&!CCvc(wcED@BCG#gW&$-u{AJPL-auNXht

l&4SW*wKiIsBY9eavmYiA2R%FTJo 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

@O0U!> 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

9>{s$Q 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

r*4S&t-kDV|0KPaB?i2o0Y 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 literal 0 HcmV?d00001 diff --git a/docs/motivation.md b/docs/motivation.md new file mode 100644 index 000000000..aa3441756 --- /dev/null +++ b/docs/motivation.md @@ -0,0 +1,18 @@ +# Motivation + +I was using Drone for two years with great satisfaction. The container architecture, the speedy backend and UI, the simple plugin system made it a flexible and simple platform. Kudos for the author, Brad to make it such a joy to use. + +It wasn't without flaws +- inconsistencies in variables and CLI features +- lack of documentation +- lack of published best practices +- UI/UX issues +- stuck builds + +Things that could be circumvented by reading the codebase. Over time however these started to annoy me, also PRs that tried to address these were not merged. Instead the development of Drone headed towards a 1.0 release with features less interesting to me. + +1.0 landed and it came with a licence change. Drone has been an open-core project since many prior versions, but the enterprise features were limited to features like autoscaling and secret vaults. + +In the 1.0 line however, Postgresql, Mysql and TLS support along with agent based horizontal scaling were also moved under the enterprise license. Limiting the open source version to single node, hobbyist deployments. + +These feature reductions and my long time UX annoyance and general dissatisfaction of the CI space lead to this fork. diff --git a/docs/usage/bash_plugin.md b/docs/usage/bash_plugin.md new file mode 100644 index 000000000..635854d64 --- /dev/null +++ b/docs/usage/bash_plugin.md @@ -0,0 +1,49 @@ +This provides a brief tutorial for creating a Drone webhook plugin, using simple shell scripting, to make an http requests during the build pipeline. The below example demonstrates how we might configure a webhook plugin in the Yaml file: + +```yaml +pipeline: + webhook: + image: foo/webhook + url: http://foo.com + method: post + body: | + hello world +``` + +Create a simple shell script that invokes curl using the Yaml configuration parameters, which are passed to the script as environment variables in uppercase and prefixed with `PLUGIN_`. + +```bash +#!/bin/sh + +curl \ + -X ${PLUGIN_METHOD} \ + -d ${PLUGIN_BODY} \ + ${PLUGIN_URL} + +``` +Create a Dockerfile that adds your shell script to the image, and configures the image to execute your shell script as the main entrypoint. + +```dockerfile +FROM alpine +ADD script.sh /bin/ +RUN chmod +x /bin/script.sh +RUN apk -Uuv add curl ca-certificates +ENTRYPOINT /bin/script.sh +``` + +Build and publish your plugin to the Docker registry. Once published your plugin can be shared with the broader Drone community. + +```nohighlight +docker build -t foo/webhook . +docker push foo/webhook +``` + +Execute your plugin locally from the command line to verify it is working: + +```nohighlight +docker run --rm \ + -e PLUGIN_METHOD=post \ + -e PLUGIN_URL=http://foo.com \ + -e PLUGIN_BODY="hello world" \ + foo/webhook +``` diff --git a/docs/usage/pipeline.md b/docs/usage/pipeline.md new file mode 100644 index 000000000..e2f7c0f51 --- /dev/null +++ b/docs/usage/pipeline.md @@ -0,0 +1,1400 @@ + + + +**Table of Contents** _generated with [DocToc](https://github.com/thlorenz/doctoc)_ + +- [Pipeline basics](#pipeline-basics) + - [Activation](#activation) + - [Configuration](#configuration) + - [Execution](#execution) +- [Pipelines](#pipelines) + - [Build Steps](#build-steps) + - [Images](#images) + - [Images from private registries](#images-from-private-registries) + - [GCR Registry Support](#gcr-registry-support) + - [Parallel Execution](#parallel-execution) + - [Conditional Pipeline Execution](#conditional-pipeline-execution) + - [Conditional Step Execution](#conditional-step-execution) + - [Failure Execution](#failure-execution) +- [Services](#services) + - [Configuration](#configuration-1) + - [Detachment](#detachment) + - [Initialization](#initialization) +- [Plugins](#plugins) + - [Plugin Isolation](#plugin-isolation) + - [Plugin Marketplace](#plugin-marketplace) +- [Environment variables](#environment-variables) + - [Built-in environment variables](#built-in-environment-variables) + - [String Substitution](#string-substitution) + - [String Operations](#string-operations) +- [Secrets](#secrets) + - [Adding Secrets](#adding-secrets) + - [Alternate Names](#alternate-names) + - [Pull Requests](#pull-requests) + - [Examples](#examples) +- [Volumes](#volumes) +- [Webhooks](#webhooks) + - [Required Permissions](#required-permissions) + - [Skip Commits](#skip-commits) + - [Skip Branches](#skip-branches) +- [Workspace](#workspace) +- [Cloning](#cloning) + - [Git Submodules](#git-submodules) +- [Privileged mode](#privileged-mode) +- [Promoting](#promoting) + - [Triggering Deployments](#triggering-deployments) +- [Matrix builds](#matrix-builds) + - [Interpolation](#interpolation) + - [Examples](#examples-1) +- [Multi-pipeline builds](#multi-pipeline-builds) + - [Example multi-pipeline definition](#example-multi-pipeline-definition) + - [Flow control](#flow-control) + - [Status lines](#status-lines) + - [Rational](#rational) +- [Badges](#badges) + + + +This document explains the process for activating and configuring a continuous delivery pipeline. + +# Pipeline basics + +## Activation + +To activate your project navigate to your account settings. You will see a list of repositories which can be activated with a simple toggle. When you activate your repository, Drone automatically adds webhooks to your version control system (e.g. GitHub). + +Webhooks are used to trigger pipeline executions. When you push code to your repository, open a pull request, or create a tag, your version control system will automatically send a webhook to Drone which will in turn trigger pipeline execution. + +![repository list](`repo_list.png) + +## Configuration + +To configure you pipeline you should place a `.drone.yml` file in the root of your repository. The .drone.yml file is used to define your pipeline steps. It is a superset of the widely used docker-compose file format. + +Example pipeline configuration: + +```yaml +pipeline: + build: + image: golang + commands: + - go get + - go build + - go test + +services: + postgres: + image: postgres:9.4.5 + environment: + - POSTGRES_USER=myapp +``` + +Example pipeline configuration with multiple, serial steps: + +```yaml +pipeline: + backend: + image: golang + commands: + - go get + - go build + - go test + + frontend: + image: node:6 + commands: + - npm install + - npm test + + notify: + image: plugins/slack + channel: developers + username: drone +``` + +## Execution + +To trigger your first pipeline execution you can push code to your repository, open a pull request, or push a tag. Any of these events triggers a webhook from your version control system and execute your pipeline. + +# Pipelines + +The pipeline section defines a list of steps to build, test and deploy your code. Pipeline steps are executed serially, in the order in which they are defined. If a step returns a non-zero exit code, the pipeline immediately aborts and returns a failure status. + +Example pipeline: + +```yaml +pipeline: + backend: + image: golang + commands: + - go build + - go test + frontend: + image: node + commands: + - npm install + - npm run test + - npm run build +``` + +In the above example we define two pipeline steps, `frontend` and `backend`. The names of these steps are completely arbitrary. + +## Build Steps + +Build steps are steps in your pipeline that execute arbitrary commands inside the specified docker container. The commands are executed using the workspace as the working directory. + +```diff +pipeline: + backend: + image: golang + commands: ++ - go build ++ - go test +``` + +There is no magic here. The above commands are converted to a simple shell script. The commands in the above example are roughly converted to the below script: + +```diff +#!/bin/sh +set -e + +go build +go test +``` + +The above shell script is then executed as the docker entrypoint. The below docker command is an (incomplete) example of how the script is executed: + +``` +docker run --entrypoint=build.sh golang +``` + +> Please note that only build steps can define commands. You cannot use commands with plugins or services. + +## Images + +Drone uses Docker images for the build environment, for plugins and for service containers. The image field is exposed in the container blocks in the Yaml: + +```diff +pipeline: + build: ++ image: golang:1.6 + commands: + - go build + - go test + + publish: ++ image: plugins/docker + repo: foo/bar + +services: + database: ++ image: mysql +``` + +Drone supports any valid Docker image from any Docker registry: + +```text +image: golang +image: golang:1.7 +image: library/golang:1.7 +image: index.docker.io/library/golang +image: index.docker.io/library/golang:1.7 +``` + +Drone does not automatically upgrade docker images. Example configuration to always pull the latest image when updates are available: + +```diff +pipeline: + build: + image: golang:latest ++ pull: true +``` + +#### Images from private registries + +You must provide registry credentials on the UI in order to pull private pipeline images defined in your Yaml configuration file. + +These credentials are never exposed to your pipeline, which means they cannot be used to push, and are safe to use with pull requests, for example. Pushing to a registry still require setting credentials for the appropriate plugin. + +Example configuration using a private image: + +```diff +pipeline: + build: ++ image: gcr.io/custom/golang + commands: + - go build + - go test +``` + +Drone matches the registry hostname to each image in your yaml. If the hostnames match, the registry credentials are used to authenticate to your registry and pull the image. Note that registry credentials are used by the Drone agent and are never exposed to your build containers. + +Example registry hostnames: + +- Image `gcr.io/foo/bar` has hostname `gcr.io` +- Image `foo/bar` has hostname `docker.io` +- Image `qux.com:8000/foo/bar` has hostname `qux.com:8000` + +Example registry hostname matching logic: + +- Hostname `gcr.io` matches image `gcr.io/foo/bar` +- Hostname `docker.io` matches `golang` +- Hostname `docker.io` matches `library/golang` +- Hostname `docker.io` matches `bradyrydzewski/golang` +- Hostname `docker.io` matches `bradyrydzewski/golang:latest` + +#### GCR Registry Support + +For specific details on configuring access to Google Container Registry, please view the docs [here](https://cloud.google.com/container-registry/docs/advanced-authentication#using_a_json_key_file). + +## Parallel Execution + +Drone supports parallel step execution for same-machine fan-in and fan-out. Parallel steps are configured using the `group` attribute. This instructs the pipeline runner to execute the named group in parallel. + +Example parallel configuration: + +```diff +pipeline: + backend: ++ group: build + image: golang + commands: + - go build + - go test + frontend: ++ group: build + image: node + commands: + - npm install + - npm run test + - npm run build + publish: + image: plugins/docker + repo: octocat/hello-world +``` + +In the above example, the `frontend` and `backend` steps are executed in parallel. The pipeline runner will not execute the `publish` step until the group completes. + +## Conditional Pipeline Execution + +Drone supports defining conditional pipelines to skip commits based on the target branch. If the branch matches the `branches:` block the pipeline is executed, otherwise it is skipped. + +Example skipping a commit when the target branch is not master: + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: master +``` + +Example matching multiple target branches: + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: [ master, develop ] +``` + +Example uses glob matching: + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: [ master, feature/* ] +``` + +Example includes branches: + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: ++ include: [ master, feature/* ] +``` + +Example excludes branches: + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: ++ exclude: [ develop, feature/* ] +``` + +## Conditional Step Execution + +Drone supports defining conditional pipeline steps in the `when` block. If all conditions in the `when` block evaluate to true the step is executed, otherwise it is skipped. + +Example conditional execution by branch: + +```diff +pipeline: + slack: + image: plugins/slack + channel: dev ++ when: ++ branch: master +``` + +> The step now triggers on master, but also if the target branch of a pull request is `master`. Add an event condition to limit it further to pushes on master only. + +Execute a step if the branch is `master` or `develop`: + +```diff +when: + branch: [master, develop] +``` + +Execute a step if the branch starts with `prefix/*`: + +```diff +when: + branch: prefix/* +``` + +Execute a step using custom include and exclude logic: + +```diff +when: + branch: + include: [ master, release/* ] + exclude: [ release/1.0.0, release/1.1.* ] +``` + +Execute a step if the build event is a `tag`: + +```diff +when: + event: tag +``` + +Execute a step if the build event is a `tag` created from the specified branch: + +```diff +when: + event: tag ++ branch: master +``` + +Execute a step for all non-pull request events: + +```diff +when: + event: [push, tag, deployment] +``` + +Execute a step for all build events: + +```diff +when: + event: [push, pull_request, tag, deployment] +``` + +Execute a step if the tag name starts with `release`: + +```diff +when: + tag: release* +``` + +Execute a step when the build status changes: + +```diff +when: + status: changed +``` + +Execute a step when the build is passing or failing: + +```diff +when: + status: [ failure, success ] +``` + +Execute a step for a specific platform: + +```diff +when: + platform: linux/amd64 +``` + +Execute a step for a specific platform using wildcards: + +```diff +when: + platform: [ linux/*, windows/amd64 ] +``` + +Execute a step for deployment events matching the target deployment environment: + +```diff +when: + environment: production + event: deployment +``` + +Execute a step for a single matrix permutation: + +```diff +when: + matrix: + GO_VERSION: 1.5 + REDIS_VERSION: 2.8 +``` + +Execute a step only on a certain Drone instance: + +```diff +when: + instance: stage.drone.company.com +``` + +#### Failure Execution + +Drone uses the container exit code to determine the success or failure status of a build. Non-zero exit codes fail the build and cause the pipeline to immediately exit. + +There are use cases for executing pipeline steps on failure, such as sending notifications for failed builds. Use the status constraint to override the default behavior and execute steps even when the build status is failure: + +```diff +pipeline: + slack: + image: plugins/slack + channel: dev ++ when: ++ status: [ success, failure ] +``` + +# Services + +Drone provides a services section in the Yaml file used for defining service containers. The below configuration composes database and cache containers. + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + +services: + database: + image: mysql + + cache: + image: redis +``` + +Services are accessed using custom hostnames. In the above example the mysql service is assigned the hostname `database` and is available at `database:3306`. + +## Configuration + +Service containers generally expose environment variables to customize service startup such as default usernames, passwords and ports. Please see the official image documentation to learn more. + +```diff +services: + database: + image: mysql ++ environment: ++ - MYSQL_DATABASE=test ++ - MYSQL_ALLOW_EMPTY_PASSWORD=yes + + cache: + image: redis +``` + +## Detachment + +Service and long running containers can also be included in the pipeline section of the configuration using the detach parameter without blocking other steps. This should be used when explicit control over startup order is required. + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + + database: + image: redis ++ detach: true + + test: + image: golang + commands: + - go test +``` + +Containers from detached steps will terminate when the pipeline ends. + +## Initialization + +Service containers require time to initialize and begin to accept connections. If you are unable to connect to a service you may need to wait a few seconds or implement a backoff. + +```diff +pipeline: + test: + image: golang + commands: ++ - sleep 15 + - go get + - go test + +services: + database: + image: mysql +``` + +# Plugins + +Plugins are Docker containers that perform pre-defined tasks and are configured as steps in your pipeline. Plugins can be used to deploy code, publish artifacts, send notification, and more. + +Example pipeline using the Docker and Slack plugins: + +```yaml +pipeline: + build: + image: golang + commands: + - go build + - go test + + publish: + image: plugins/docker + repo: foo/bar + tags: latest + + notify: + image: plugins/slack + channel: dev +``` + +## Plugin Isolation + +Plugins are executed in Docker containers and are isolated from the other steps in your build pipeline. Plugins do share the build workspace, mounted as a volume, and therefore have access to your source tree. + +## Plugin Marketplace + +Plugins are packaged and distributed as Docker containers. They are conceptually similar to software libraries (think npm) and can be published and shared with the community. You can find a list of available plugins at [http://plugins.drone.io](http://plugins.drone.io). + +# Environment variables + +Drone provides the ability to define environment variables scoped to individual build steps. Example pipeline step with custom environment variables: + +```diff +pipeline: + build: + image: golang ++ environment: ++ - CGO=0 ++ - GOOS=linux ++ - GOARCH=amd64 + commands: + - go build + - go test +``` + +Please note that the environment section is not able to expand environment variables. If you need to expand variables they should be exported in the commands section. + +```diff +pipeline: + build: + image: golang +- environment: +- - PATH=$PATH:/go + commands: ++ - export PATH=$PATH:/go + - go build + - go test +``` + +Please be warned that `${variable}` expressions are subject to pre-processing. If you do not want the pre-processor to evaluate your expression it must be escaped: + +```diff +pipeline: + build: + image: golang + commands: +- - export PATH=${PATH}:/go ++ - export PATH=$${PATH}:/go + - go build + - go test +``` + +## Built-in environment variables + +This is the reference list of all environment variables available to your build environment. These are injected into your build and plugins containers, at runtime. + +| NAME | DESC | +| ---------------------------- | -------------------------------------- | +| `CI=drone` | environment is drone | +| `DRONE=true` | environment is drone | +| `DRONE_ARCH` | environment architecture (linux/amd64) | +| `DRONE_REPO` | repository full name | +| `DRONE_REPO_OWNER` | repository owner | +| `DRONE_REPO_NAME` | repository name | +| `DRONE_REPO_SCM` | repository scm (git) | +| `DRONE_REPO_LINK` | repository link | +| `DRONE_REPO_AVATAR` | repository avatar | +| `DRONE_REPO_BRANCH` | repository default branch (master) | +| `DRONE_REPO_PRIVATE` | repository is private | +| `DRONE_REPO_TRUSTED` | repository is trusted | +| `DRONE_REMOTE_URL` | repository clone url | +| `DRONE_COMMIT_SHA` | commit sha | +| `DRONE_COMMIT_REF` | commit ref | +| `DRONE_COMMIT_BRANCH` | commit branch | +| `DRONE_COMMIT_LINK` | commit link in remote | +| `DRONE_COMMIT_MESSAGE` | commit message | +| `DRONE_COMMIT_AUTHOR` | commit author username | +| `DRONE_COMMIT_AUTHOR_EMAIL` | commit author email address | +| `DRONE_COMMIT_AUTHOR_AVATAR` | commit author avatar | +| `DRONE_BUILD_NUMBER` | build number | +| `DRONE_BUILD_EVENT` | build event (push, pull_request, tag) | +| `DRONE_BUILD_STATUS` | build status (success, failure) | +| `DRONE_BUILD_LINK` | build result link | +| `DRONE_BUILD_CREATED` | build created unix timestamp | +| `DRONE_BUILD_STARTED` | build started unix timestamp | +| `DRONE_BUILD_FINISHED` | build finished unix timestamp | +| `DRONE_PREV_BUILD_STATUS` | prior build status | +| `DRONE_PREV_BUILD_NUMBER` | prior build number | +| `DRONE_PREV_COMMIT_SHA` | prior build commit sha | +| `DRONE_JOB_NUMBER` | job number | +| `DRONE_JOB_STATUS` | job status | +| `DRONE_JOB_STARTED` | job started | +| `DRONE_JOB_FINISHED` | job finished | +| `DRONE_BRANCH` | commit branch | +| `DRONE_COMMIT` | commit sha | +| `DRONE_TAG` | commit tag | +| `DRONE_PULL_REQUEST` | pull request number | +| `DRONE_DEPLOY_TO` | deployment target (ie production) | + +## String Substitution + +Drone provides the ability to substitute environment variables at runtime. This gives us the ability to use dynamic build or commit details in our pipeline configuration. + +Example commit substitution: + +```diff +pipeline: + docker: + image: plugins/docker ++ tags: ${DRONE_COMMIT_SHA} +``` + +Example tag substitution: + +```diff +pipeline: + docker: + image: plugins/docker ++ tags: ${DRONE_TAG} +``` + +## String Operations + +Drone also emulates bash string operations. This gives us the ability to manipulate the strings prior to substitution. Example use cases might include substring and stripping prefix or suffix values. + +| OPERATION | DESC | +| ------------------ | ------------------------------------------------ | +| `${param}` | parameter substitution | +| `${param,}` | parameter substitution with lowercase first char | +| `${param,,}` | parameter substitution with lowercase | +| `${param^}` | parameter substitution with uppercase first char | +| `${param^^}` | parameter substitution with uppercase | +| `${param:pos}` | parameter substitution with substring | +| `${param:pos:len}` | parameter substitution with substring and length | +| `${param=default}` | parameter substitution with default | +| `${param##prefix}` | parameter substitution with prefix removal | +| `${param%%suffix}` | parameter substitution with suffix removal | +| `${param/old/new}` | parameter substitution with find and replace | + +Example variable substitution with substring: + +```diff +pipeline: + docker: + image: plugins/docker ++ tags: ${DRONE_COMMIT_SHA:0:8} +``` + +Example variable substitution strips `v` prefix from `v.1.0.0`: + +```diff +pipeline: + docker: + image: plugins/docker ++ tags: ${DRONE_TAG##v} +``` + +# Secrets + +Drone provides the ability to store named parameters external to the Yaml configuration file, in a central secret store. Individual steps in the yaml can request access to these named parameters at runtime. + +Secrets are exposed to your pipeline steps and plugins as uppercase environment variables and can therefore be referenced in the commands section of your pipeline. + +```diff +pipeline: + docker: + image: docker + commands: ++ - echo $DOCKER_USERNAME ++ - echo $DOCKER_PASSWORD + secrets: [ docker_username, docker_password ] +``` + +Please note parameter expressions are subject to pre-processing. When using secrets in parameter expressions they should be escaped. + +```diff +pipeline: + docker: + image: docker + commands: +- - echo ${DOCKER_USERNAME} +- - echo ${DOCKER_PASSWORD} ++ - echo $${DOCKER_USERNAME} ++ - echo $${DOCKER_PASSWORD} + secrets: [ docker_username, docker_password ] +``` + +## Adding Secrets + +Secrets are added to the Drone secret store on the UI or with the CLI. + +## Alternate Names + +There may be scenarios where you are required to store secrets using alternate names. You can map the alternate secret name to the expected name using the below syntax: + +```diff +pipeline: + docker: + image: plugins/docker + repo: octocat/hello-world + tags: latest ++ secrets: ++ - source: docker_prod_password ++ target: docker_password +``` + +## Pull Requests + +Secrets are not exposed to pull requests by default. You can override this behavior by creating the secret and enabling the `pull_request` event type. + +```diff +drone secret add \ + -repository octocat/hello-world \ + -image plugins/docker \ ++ -event pull_request \ ++ -event push \ ++ -event tag \ + -name docker_username \ + -value +``` + +Please be careful when exposing secrets to pull requests. If your repository is open source and accepts pull requests your secrets are not safe. A bad actor can submit a malicious pull request that exposes your secrets. + +## Examples + +Create the secret using default settings. The secret will be available to all images in your pipeline, and will be available to all push, tag, and deployment events (not pull request events). + +```diff +drone secret add \ + -repository octocat/hello-world \ + -name aws_access_key_id \ + -value +``` + +Create the secret and limit to a single image: + +```diff +drone secret add \ + -repository octocat/hello-world \ ++ -image plugins/s3 \ + -name aws_access_key_id \ + -value +``` + +Create the secrets and limit to a set of images: + +```diff +drone secret add \ + -repository octocat/hello-world \ ++ -image plugins/s3 \ ++ -image peloton/drone-ecs \ + -name aws_access_key_id \ + -value +``` + +Create the secret and enable for multiple hook events: + +```diff +drone secret add \ + -repository octocat/hello-world \ + -image plugins/s3 \ ++ -event pull_request \ ++ -event push \ ++ -event tag \ + -name aws_access_key_id \ + -value +``` + +Loading secrets from file using curl `@` syntax. This is the recommended approach for loading secrets from file to preserve newlines: + +```diff +drone secret add \ + -repository octocat/hello-world \ + -name ssh_key \ ++ -value @/root/ssh/id_rsa +``` + +# Volumes + +Drone gives the ability to define Docker volumes in the Yaml. You can use this parameter to mount files or folders on the host machine into your containers. + +> Volumes are only available to trusted repositories and for security reasons should only be used in private environments. + +```diff +pipeline: + build: + image: docker + commands: + - docker build --rm -t octocat/hello-world . + - docker run --rm octocat/hello-world --test + - docker push octocat/hello-world + - docker rmi octocat/hello-world + volumes: ++ - /var/run/docker.sock:/var/run/docker.sock +``` + +Please note that Drone mounts volumes on the host machine. This means you must use absolute paths when you configure volumes. Attempting to use relative paths will result in an error. + +```diff +- volumes: [ ./certs:/etc/ssl/certs ] ++ volumes: [ /etc/ssl/certs:/etc/ssl/certs ] +``` + +# Webhooks + +When you activate your repository Drone automatically add webhooks to your version control system (e.g. GitHub). There is no manual configuration required. + +Webhooks are used to trigger pipeline executions. When you push code to your repository, open a pull request, or create a tag, your version control system will automatically send a webhook to Drone which will in turn trigger pipeline execution. + +## Required Permissions + +The user who enables a repo in Drone must have `Admin` rights on that repo, so that Drone can add the webhook. + +Note that manually creating webhooks yourself is not possible. This is because webhooks are signed using a per-repository secret key which is not exposed to end users. + +## Skip Commits + +Drone gives the ability to skip individual commits by adding `[CI SKIP]` to the commit message. Note this is case-insensitive. + +```diff +git commit -m "updated README [CI SKIP]" +``` + +## Skip Branches + +Drone gives the ability to skip commits based on the target branch. The below example will skip a commit when the target branch is not master. + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + ++branches: master +``` + +Please see the pipeline conditions [documentation]({{< ref "usage/config/pipeline-conditions.md" >}}) for more options and details. + +# Workspace + +The workspace defines the shared volume and working directory shared by all pipeline steps. The default workspace matches the below pattern, based on your repository url. + +``` +/drone/src/github.com/octocat/hello-world +``` + +The workspace can be customized using the workspace block in the Yaml file: + +```diff ++workspace: ++ base: /go ++ path: src/github.com/octocat/hello-world + +pipeline: + build: + image: golang:latest + commands: + - go get + - go test +``` + +The base attribute defines a shared base volume available to all pipeline steps. This ensures your source code, dependencies and compiled binaries are persisted and shared between steps. + +```diff +workspace: ++ base: /go + path: src/github.com/octocat/hello-world + +pipeline: + deps: + image: golang:latest + commands: + - go get + - go test + build: + image: node:latest + commands: + - go build +``` + +This would be equivalent to the following docker commands: + +``` +docker volume create my-named-volume + +docker run --volume=my-named-volume:/go golang:latest +docker run --volume=my-named-volume:/go node:latest +``` + +The path attribute defines the working directory of your build. This is where your code is cloned and will be the default working directory of every step in your build process. The path must be relative and is combined with your base path. + +```diff +workspace: + base: /go ++ path: src/github.com/octocat/hello-world +``` + +```text +git clone https://github.com/octocat/hello-world \ + /go/src/github.com/octocat/hello-world +``` + +# Cloning + +Drone automatically configures a default clone step if not explicitly defined. You can manually configure the clone step in your pipeline for customization: + +```diff ++clone: ++ git: ++ image: plugins/git + +pipeline: + build: + image: golang + commands: + - go build + - go test +``` + +Example configuration to override depth: + +```diff +clone: + git: + image: plugins/git ++ depth: 50 +``` + +Example configuration to use a custom clone plugin: + +```diff +clone: + git: ++ image: octocat/custom-git-plugin +``` + +Example configuration to clone Mercurial repository: + +```diff +clone: + hg: ++ image: plugins/hg ++ path: bitbucket.org/foo/bar +``` + +## Git Submodules + +To use the credentials that cloned the repository to clone it's submodules, update `.gitmodules` to use `https` instead of `git`: + +```diff +[submodule "my-module"] + path = my-module +- url = git@github.com:octocat/my-module.git ++ url = https://github.com/octocat/my-module.git +``` + +To use the ssh git url in `.gitmodules` for users cloning with ssh, and also use the https url in drone, add `submodule_override`: + +```diff +clone: + git: + image: plugins/git + recursive: true ++ submodule_override: ++ my-module: https://github.com/octocat/my-module.git + +pipeline: + ... +``` + +# Privileged mode + +Drone gives the ability to configure privileged mode in the Yaml. You can use this parameter to launch containers with escalated capabilities. + +> Privileged mode is only available to trusted repositories and for security reasons should only be used in private environments. + +```diff +pipeline: + build: + image: docker + environment: + - DOCKER_HOST=tcp://docker:2375 + commands: + - docker --tls=false ps + +services: + docker: + image: docker:dind + command: [ "--storage-driver=vfs", "--tls=false" ] ++ privileged: true +``` + +# Promoting + +Drone provides the ability to promote individual commits or tags (e.g. promote to production). When you promote a commit or tag it triggers a new pipeline execution with event type `deployment`. You can use the event type and target environment to limit step execution. + +```diff +pipeline: + build: + image: golang + commands: + - go build + - go test + + publish: + image: plugins/docker + registry: registry.heroku.com + repo: registry.heroku.com/my-staging-app/web + when: ++ event: deployment ++ environment: staging + + publish_to_prod: + image: plugins/docker + registry: registry.heroku.com + repo: registry.heroku.com/my-production-app/web + when: ++ event: deployment ++ environment: production +``` + +The above example demonstrates how we can configure pipeline steps to only execute when the deployment matches a specific target environment. + +## Triggering Deployments + +Deployments are triggered from the command line utility. They are triggered from an existing build. This is conceptually similar to promoting builds. + +```text +drone deploy +``` + +Promote the specified build number to your staging environment: + +```text +drone deploy octocat/hello-world 24 staging +``` + +Promote the specified build number to your production environment: + +```text +drone deploy octocat/hello-world 24 production +``` + +# Matrix builds + +Drone has integrated support for matrix builds. Drone executes a separate build task for each combination in the matrix, allowing you to build and test a single commit against multiple configurations. + +Example matrix definition: + +```yaml +matrix: + GO_VERSION: + - 1.4 + - 1.3 + REDIS_VERSION: + - 2.6 + - 2.8 + - 3.0 +``` + +Example matrix definition containing only specific combinations: + +```yaml +matrix: + include: + - GO_VERSION: 1.4 + REDIS_VERSION: 2.8 + - GO_VERSION: 1.5 + REDIS_VERSION: 2.8 + - GO_VERSION: 1.6 + REDIS_VERSION: 3.0 +``` + +## Interpolation + +Matrix variables are interpolated in the yaml using the `${VARIABLE}` syntax, before the yaml is parsed. This is an example yaml file before interpolating matrix parameters: + +```yaml +pipeline: + build: + image: golang:${GO_VERSION} + commands: + - go get + - go build + - go test + +services: + database: + image: ${DATABASE} + +matrix: + GO_VERSION: + - 1.4 + - 1.3 + DATABASE: + - mysql:5.5 + - mysql:6.5 + - mariadb:10.1 +``` + +Example Yaml file after injecting the matrix parameters: + +```diff +pipeline: + build: +- image: golang:${GO_VERSION} ++ image: golang:1.4 + commands: + - go get + - go build + - go test ++ environment: ++ - GO_VERSION=1.4 ++ - DATABASE=mysql:5.5 + +services: + database: +- image: ${DATABASE} ++ image: mysql:5.5 +``` + +## Examples + +Example matrix build based on Docker image tag: + +```yaml +pipeline: + build: + image: golang:${TAG} + commands: + - go build + - go test + +matrix: + TAG: + - 1.7 + - 1.8 + - latest +``` + +Example matrix build based on Docker image: + +```yaml +pipeline: + build: + image: ${IMAGE} + commands: + - go build + - go test + +matrix: + IMAGE: + - golang:1.7 + - golang:1.8 + - golang:latest +``` + +# Multi-pipeline builds + +By default, Drone looks for the pipeline definition in `.drone.yml` in the project root. + +The Multi-Pipeline feature allows the pipeline to be splitted to several files and placed in the `.drone/` folder + +## Example multi-pipeline definition + +```bash +.drone +├── .build.yml +├── .deploy.yml +├── .lint.yml +└── .test.yml +``` + +.drone/.build.yml + +```yaml +pipeline: + build: + image: debian:stable-slim + commands: + - echo building + - sleep 5 +``` + +.drone/.deploy.yml + +```yaml +pipeline: + deploy: + image: debian:stable-slim + commands: + - echo deploying + +depends_on: + - lint + - build + - test +``` + +.drone/.test.yml + +```yaml +pipeline: + test: + image: debian:stable-slim + commands: + - echo testing + - sleep 5 + +depends_on: + - build +``` + +.drone/.lint.yml + +```yaml +pipeline: + lint: + image: debian:stable-slim + commands: + - echo linting + - sleep 5 +``` + +## Flow control + +The pipelines run in parallel on a separate agents and share nothing. + +Dependencies between pipelines can be set with the `depends_on` element. A pipeline doesn't execute until its dependencies did not complete succesfully. + +```diff +pipeline: + deploy: + image: debian:stable-slim + commands: + - echo deploying + ++depends_on: ++ - lint ++ - build ++ - test +``` + +Pipelines that need to run even on failures should set the `run_on` tag. + +```diff +pipeline: + notify: + image: debian:stable-slim + commands: + - echo notifying + +depends_on: + - deploy + ++run_on: [ success, failure ] +``` + +Some pipelines don't need the source code, set the `skip_clone` tag to skip cloning: + +```diff + +pipeline: + notify: + image: debian:stable-slim + commands: + - echo notifying + +depends_on: + - deploy + +run_on: [ success, failure ] ++skip_clone: true +``` + +## Status lines + +Each pipeline has its own status line on Github. + +## Rational + +- faster lint/test feedback, the pipeline doesn't have to run fully to have a lint status pushed to the the remote +- better organization of the pipeline along various concerns: testing, linting, feature apps +- utilizaing more agents to speed up build + +# Badges + +Drone has integrated support for repository status badges. These badges can be added to your website or project readme file to display the status of your code. + +Badge endpoint: + +```text +:///api/badges///status.svg +``` + +The status badge displays the status for the latest build to your default branch (e.g. master). You can customize the branch by adding the `branch` query parameter. + +```diff +-:///api/badges///status.svg ++:///api/badges///status.svg?branch= +``` + +Please note status badges do not include pull request results, since the status of a pull request does not provide an accurate representation of your repository state. diff --git a/docs/usage/repo_list.png b/docs/usage/repo_list.png new file mode 100644 index 0000000000000000000000000000000000000000..368c961ea4525f288cf023ca40af9a8d83bdf708 GIT binary patch literal 130729 zcmd42WmFv7)-DVoKtj+E+!8bdcWWSmgg_v{2~OkISmPQzSa65n?$S8H8kgYi-ncto z<(zl#o&DZ_-?%^S8iP^YRZUf`HSKxkoGb8?tRxl&DFzY}5|-3^F?l2;^iU+EhiH$` zfHPgDu`Iyhq3v5K#Yez!eWV`%d?&FJSG7}s7}`1L+87`iSwbufSZu*I1_qY4#t^%G zlx7hmq~}OdVs8{3lXm7@R7VZ&?hiLG*^@pC1W>>KMi-Y}Q%YG{DSxJ8VBpVV*8F(4 zc<-*~Y+Bzzy)`J zpQ4b_4i20(h=}-8uWc9h2mAQ@I?VR2(eVENk6Ln)>DtD|ed>P=8{G=n`CMa2B&IhF zwfWqan1H0jxzOfj4~WW(KYth-P-1I)Ym6DV>$w}eZ|_sWxDN$y&!L`beJm`-{1q5hJH<(}s4`PN`e7v`GftUU3 zVt@u`gGrKwtD*6Z#LDoP@&CHqmDL|Ko@R|wbS^j^4F2<}c;V7XDkBb(#u^JJ2APbX z{?E&a3`Ot2Od)AyH2l28njGKy4Q-{!@V4sw-EYm-MNd9KV*j;*MA$f_35+?y;THU^ZrNbzl?pnq2J6g)nK{KVCdMNG8^Ze8!yj?rMUl#%!E9#qo%d zx9Oa624(@iuC{1^nc&L_pDxToC*&O6$6k?=l4^WDMx~CeVuab;=QpY%m3~S}l#=zz zBI~qDUZ#MQx*xw_xMrbW>4! zDhTQm*wXOue6SDN9=>LUFkhnh?>Wa4;Gxu+VAg&&pS@tM;;FjPA1~w$YrdN{^O5x7 zG8yI()`X>2dSQYE(~|hv-@>yxa-!n+uk}l%S!yTad)W z2-CUq#z}$gZ!6@KN-T&^&jvcGGAF$nSoE%vi>#~ntW;ub*T7}m*2xwfHp zH8Y(mr%O(lCXI+x_(Gvxu`X_}uWvQd&vz~l{nz3QAndFf_7QFkC&LRI#F*UN+&b*U z2}Z<{5@NuI3trLYva%M>qBP`;UtPUy&3#xC+Jjx;G=nqElFcvE!FmaX)1mYtmEZ0^ z%=P)#GPVb!y#${p7^yZx*_;e;iFv|>sFDUxUgCd}faf!)HD`E!T~<&Pc6}Tc-&NFo z95-*;V?!bUDbza^A|V$@iM>-eFWe zFPwh?np!fCT}sXX?&m7}xFDU@A!aP|j8bWwup(tp3Gzc>BH^$vvT#B3^_wZi!i!X&H3&MPMAnfUO8v51Pz)ua!^Mr0@Bn{ZvS=UrEA43Aa}VC>(xtJnJ)c(;eXL%m*p!S^|i zxnsxO0c()eF)ly4pq44WEUba&$wiwGrA+)au`SJy=WaX&_Xm&0m{MN|^gKj`9OsDc zW@{hO+z5!^_F&{vTHWE=Z?ec8T$8;+KEUD;;KNp0-5vPh_?k0_iadl(377PdV)8E+ zp$W~|L+3%m7e=QKC>M5mD{I3JbbJEKZ>dUIV+mUhYqz0$U!K_5^7EY3cdl2Q7C72> z=Vx~oH+EKg$By*N%kTYOwOxA`TjL%6aZSpr(-IP5Li>Rg4~?dq!kKTOlm=_x2KShM5p{E|wUt8Rr~IS6jeZr*+Kn+oy@@owiG4rjN?SZRo}kWCRD3uWTZ2R81t@xh>gFst>l#?mAb%5yQ}S+$LMb&Wr? zN{rPAP%9#4RnK2K?Gp>JephHWH#futWWBpwM)I!950Ubo5FUhKk*PMC5*SvH@bU4P znwpkQneU!K<_>B3?iah)Jrf(0&(+)Z&7Sv@~R# z$j3N1IDql+%{$UiQc~{X;3oE^ZpgOlPYotYrx?PtpOqDz)$DezF0gH+C`)BNUic*X zqp%_t>enLUu}rXhZn>V!x3HL}-SkHBXe4uvKzzR_&b0|~W~)6vb%QiTO`|X_E%{OAT%9unxVY_~skmd)H$s^J+A$o0$d2lV9S@nsu0-;z5KF zsrM}1-QC2PXdvN_=F=x4X}8xa>+AOOcfzjdxCA`J_}-WO%OLk!9Rj&V{N8Ws=NVy1%IIe%^{+lMn_acZ3PU%d@1_n%#ww z801n`!x!!;9UL6C$w+JN?^5x2t#poq^^M~7m%gelhz8uMJ=k71Al8-sWfQZS^&_BZ%*4DjE`;^`P(HOMH7cK+|c@FId z-*nUXn&5r<-jr~P`mXkLDVw*G>+(6ep9HF2c~rQ9Dr%GaMYWp2!(Z=&9UTx%4frlh zpPwnL^Mx~V$Of-4H`^E2zxzFT7fXtscO^Gobo}s1={M11dA9YgMZ20{$>OZUMj$|2 z_`zAuLD(1=dhlR%=K`@ma0(t?&VR%7;g7Bn>)`QI@VoZs% z{e`eO!!{jutKCeqn*FBh(wW`lNtAK1(Z=KW6pqx>0zR(GKw3R2je+tZrNVn1I_Ys` zZ^%nL{0&ZBjE8~)oJwWj+mS-1>P0e6jEAOLt5a^mi8InX))You#BOMN@1OKaY3#~Z?_fmAmq7-KmsF& z_Y6f2&3W5p@k|M@78^~nP6?Gim2OUx;T(mOO+FIsoG%(0ooAZm>YYQpc2gE?8{8V= z1)-!syh9X%85z%45G&H3K7C?Sr2o?jhB++gYADBes$}=A5RbktxUOI+gN`u)--C&U z`LWZSmkc&*^Q8HHZvWu?+(C0~1M0)K-oMgzVRYg0p;K?9SA2lW;n2U_$=uPr2bCvC z<@tI(Q~im@TAKDfsV9NQT}8o%r+>&HJZN&FwwBB5%a81>g1U~us-Ii3gZ%bZeW0e} z;`$3M*9ZF+&SA5&8URoPV#sqw#=t;)dOIjFo^`~7e<9|rTvqhXA!14Zd#0!R9U=TF z1rar1xs_11&n$n=5J3M$z0yiS0cKEWp6MU2f)^f>q?SKD>9Q91XS53F@_pU%Z&cr9 zAp3vm%s?aT32yi}voaGyZ;x|5=AW-q8(c|3PKN21Qv6OVf&7ZM`F|m8>3}epO1(v; zV%5K2*FYAS-FvS3x%nBof37?+@%@a4XB{K$4K5h_pr%H`Ae*#!vNfVwr2LAhAL-&6 zeQ{~YD>jzs_WGQGogEi&#VXir)D)x2p9=qRB&)*!bR4*HN&Tvi7rtj(m>b}wtJ|n4 zkyA^{U(B7@Eo2w4yu5<>h~lTG7s|oe8GKbYT`m;~>D8+~)j~p3Gcy7A9pb4eH6K6h z=cb#VZcrX*eD({l^IXANiC+-^%U!JwFJ2_3(lFaU?8XQa7t3VP#0WJ5{@3x~IUR#6 zyUprYa0r?0fLePf5{ZtL*hA%l=#|c}$oP1v_xE?0WW1OV$bNAY4Yh3f%x(yTR611t ze4EOIKO(5{#26Aw_qR68{lo=5g0*ls&fls(A{li|Yy~t*;GKFi3CPq`PJLRatfnTe zr0FUmH|;Yfg<$4LudI5JGB$;v%zPSXc^Uqcn0PYJU94Sz<=x7*IM-qA3UWj9J<9A` z8s~cMzeTx)hSh;O>Uu?3MRiB9kVW=f9~aI0%@UweL7H9CO4p7q{SQsO60%FS2}LI! zVCPqcqWgeqef~y*#csJXU+64k%(pHTxfbQU`b*lE!-x55)*4r zd)H!ZZO!3?j>Bo)`cNi&faRl`2z?~_f?NQ@{^FaSo*s?)<^XO$1fR^{i)2IY|5$4+ zE%CKKm`yl;2#8SAt3cRQSMOEPcI);DoWmy-y12Mt*Ij;CUVipTU46!4B|xM2BpZ0- z|BMrdw}6x)M_LYBywL+mN!Nzg@&>bjd5B?!EHAcr&xyozt);J#y=i28_LmT9UAG{< z)YQX-4o0L(3H?z?{4JZ4pXW5?D$?Hhmm2hTDkk(_pc@O!4dfRW8(to9BM~yc@0gf? z#WF?Ak4E!(Ew~VuDSK?F zioE>W#1Ox*x1O_)WOy6NTHLf=YN}(=5gy2HXYc^<(8bsHyF$T z5=%o=R`S7ly$xk9-k%@5QokP&UY0yOET1!tj*cD~#~+wz)MurJb$WW*aC?Tv$;B1# z+@|P$R&o6p3k&rJV1$K*=64%|_wU}meE^%|9Wihkk54NDoYmgmp5nx)4r~g^%E6(t za{^sD*>@yIF7*ZzYrc7-?#Gtq`YjCaZ_Gqu5q}e%%QPmd#>-4z&5U5B4)CYcfd5K90su}6PB4+n2 z+}V)@7BoNqLwQ9-y)bCL!U)G~qByNOJ9}*R`h26@!-JKK&yrR^z_$$CDX;ozh=m6L zWo|b~tFzrF+-RLH=X+TV4M|1nFiz;UB2nm<59^5t z0bF~Wa~TYK-R8M9y#kfLtbi4@qobqY=BO7VY%SfY7?f%7V^(wN2=1`3)_BfqznKIq zFR!I5QT^ONu)5`z&F{qp-QUsZIWWzhZ-~lCCX`UpRXxssE^hbL za7jVUB!7Q&l(+8~Sy?Ub+Qp54MF@|M9@||ytY&M{nX9Wp3Z~@plZq_X-I*){EW&p2 zCvtUW4sdW!x$doCR{g$xbhxxL#LsgIL(0s${S3&Wi*Lbogq&0^k+*0J;aO6`_B#X$ z3nw2P*)(0QlNHx(zak3JXlF2+sJKoMsxgWPs@qW}Qg8fA;cd$5&*xp7)}mGT-EV4I z!L^%}m;vg3230&fNg$_)+uB;O&h{GfhW@QYWJkM0aQ~aMcOQ<(#|t$b#svVq0yV92 zaB^1H)AGAt?_weKT`Ik5zQL`gFmZDoEQ6PXc%wL-spJ*9u!g`E=6@zT%#W>=sUIC3 zr2~@4&wmBPR!nk!T+bUC)c%Sv;g9sO=$&ZZUiUkLYeQbQs)&64lV5_xn+V@I<&ZFc zJQ;iJhGS->oDUq1&UmvPNci*%i^HVVZilEPjd!GZdChd3oDmaRF3}sQ*H4fF10&zp z-n(b7Z$!qNNqSP^ge8w9yNtjRlT!Gt(=Vk)QmWss6#GS@pkrrVvRRp9$l-{GG3$H*i*xiGJ=sG8x zzbxDx+uPc_e`QEkfIG26$pw~M7yn^01D!K7>PuxBl>yiyYFOfXO?t{SX%?~5N3B%Wf7L|6g+o6XdCSsPDslw zu2^PNZa$g_ZA>^Q$d-57euj0bd~&2Ah|>v9Ms#lD$da3LPT;**lXsoqa!~x%Mc` z&Fwa!ZRP69Irapr6tI`+gamjzeB<)j+n(EVE?37BHEA`6vCFq$W6Tl-1rKRQF)>?5 z4NcA6VbaxM`Olw`U*F%|4o+pS4Uhe$t<=M|m>E`r=)N3BSgB9UWX0bn!(ke+*efRn2k*XK@kfKhLo5iGwOOa#MiB@EN4(62g#rK=SkgE=yY+2MYG#s` z4pRz+k^16(okgGq5s7{PtWG{+!wPT)vB6tIoZM&w7$FqoOB_EAR5kLYE6x$2N8MB# z*0y?}vctd|b|=&sCiOecmj*N6F8i7;1((6#z>wz9%X^h+S7zIfuN*XpLzk>AM&EB?mge+CDk=-{QeAz@m?dzMgLOPMO zuAc&swN!M1$0;H;m1@ZwZE4*QFtlVqyFSRJWR{mlC;(tX*&d@{?5p~S`Rc(N?}OuG z+wMsul#*{Nx54D!!U%DBPd?-~3j~}(N$7>*zxi4fFBnSF7~DYg@%RgAJiJzFc(>^UtR1z z4hz^knlv%-Ft4g?yZm|`(@DN$?O>74LIeXcil07zZVAL^Am%pylxRWD6>@!wnCSkz z-6bQvlooO~o0I@ge?kAjc3#f_+mRQRxBBx;j**l*l_2Qpqo0_%Ew3rARcN^&jSQkP zns2so`5QPwDxHpVHJVfW(}lf0U~lYX+c~~siox!zC=Liy&MGr^C)K550Y?~72zbb> zr-h+$Kz_X{;~@X|aqto_S4EWxt0R390s_O&Ctd)4x@n3fkB0#OOqd(WTi;YzUKue(5ee>~6cmE+*&j9BrP!{c-ekcRugF-r{G zW4T!Z&*x_*^FQh>XRfEx(9jIlW;#2lHe7tp=>%|B&5VukgvG&()LgCCv9IzwhY~qT zN<8cF$ow_@q9O))N3nL)L*g!9Mj$XHC6S-)%}M|EYSSB&rd8z*`}6D7$$ED_Rb`LI{is{~c<{wx{|5a-D*EGr5Lag;dds zt-;cW`J)9psfn@GoL1+lQjT%%tB#>TvBO^vsNo?w?936#*BA%9wfN8u0x_J;pb05$ zSIG`}@IB`7Aq}ouRj;YB37jRQ03EV0U!xEGErc0XySaEo6&d;UHToyr;vaIae+tYn zYt)oFja%#M(>CAV?rWY=)wXJQHQ(2E+P{DQ-l}d8a1;RC&CAbkpP2Z~DT<>e`|xJh zH#QtZ#1OQSFOwrcIb*vl-uj)K;}*#b!!ZTLb>D7oTmgjgUQW)aFOCDqH=rBO-t!9y zB_?Dy)(!H|)M_rQTTMRggB~XH-_OWkEBaY$n)k|4V7+)D5*(dsXcLDBv_v$NzQE*E zl2^m{-i93Ho4z1ReFiH^L`~vGF>1KuSJ;Q`o{)U+>VI6inXwyZbn|GiFRZIDXf3UM zk*n3_Zw{z&d$S?xP-g+eTDImJP5?S$0$AQXKNPf*AemNhUx_mfnQ#2%rgJke>5d_J(Gw8aaMi z!Fb?x`=B1=?&c<(mBm29Z}psqXYAto`m?$VX=F~|*VYWAi>nKO937mVBELNVKwM^K zW-l0~$IkxB9pv`)YUC4y?x!)>_+G@(r4G!>WYnAI+{0p36oTa%D-h^4$HRv#QVR zG-%q#W70{aa@ewQW1s7AT?|Cj*lB-!df`!-+~eb4!&-wf@i%LHJCj!SAFfD8RLa!` z_J8t%+n$(=FQ##7N?%{!PTFdABpsaI-P2<@o(o@eoZ4W&{8n);z$!ZDh^aIFva6?u zUT~fKu`RlilG0~Qg?Fi*NQL77R%&_krf7O}JO!>(`q?PY*2&oX;G~0%Hu&HT%H@d; zT^h3TP2*<=8c)?(N005oY?V6Z~m85j?0df<3{+(lEW16g``Q<$Z z&8u}>+nJ6K94iG-_mD~C4Vj#rT%Upi zP};}G2bYR!FqnjEb0i06ZEekbu8yE!Y`P4&IKZGLF90CaLRv{Hvq>2&mLQq+J?a~O zhQ-l6bd`3_cDsmMbe*p6FIbw;@Lb35;IiWgu~g)Vg*WLQ^pHka__;`x)h)$DvH(o& zFIKtQ@QhU2NT78k{KW!`lS`Tp94WH67L5%8!2psUqhl3XE-mek@u!Xs3Egp(;h8O; z6d#Xh`Gs6BwH4K0S|KcX_aF^Lxlie_{HT1Q%hpy{WRlo_89*l!WAcg%3s)!0z~n+& z!5w-nrbRiqo5Y==6dC2^!v-r=&xY6@)vF+NhElHec)4{|pehja#=8ePutU#Eh(WH; zc-4jPs$ZEh^~cH0Y|Sh{TMkD}MkcE*$i{eh`r;#92kiM4Kq#I-G9ymVBB2-FtXi3v z0A%n}!JXd%tn>t{X+ZXCeJc?W_?X1R<6FlRbwYqR5UHn;YK7{s7${;qB09OFpKs7u zt6ET0G!+O~@9mWdk+SIM9{ShpNqLC$#^#)M@!M?GZRZ!%0Dse<^|vLR5F3SC2k>gq#d)yQt9H?)#KU?)gNY!p&M5ut;-;TH%VtTcaji^E$`Old@W){uD zibNueG~V=FIrW`81balaMSI5`W~hStQ%es9#8+vH7mLInI|?d5T-+Ww(pwFlw#-&g zV@2L$D$~8Pvt+#9kelCeTiW7fBo+A0s~! z1S?w_VPZa^dGW%FXriI3qWQy`7mn@>-o+Za5iFUTIOUe3;bJz3mX?;Cy%0e%6>ok9 zN18G%(_!Zx;IOD&DC_MsGk(s^9ThHm#U|o*D`j~1(x*EuVS^po>jA$cyf`Ty>qc!-Kx z=ITUR;m%p0el{Tz3#0)os&02K#V{%Rz#pZ}>%Y`@o9O5~2NK6Xx;p3UkLuPHgWecu zK7YYj&*8G3MA+69WxJZ18UPfb>c%_lTM1@Jj=QH5T?0L)*nt37KBK2wyR*a!89ZO! za4f^OCcwc7WA*7w5fiQSt7W9Qa?*diyvKvlq=1ro zjrJi{bBa@eyi}n5D_%5^lxk(nM%%FJsq)Ijg+Iq?onrAlUjI@>miYA<0-7x+r?+40 zy#y)Bw1iX8@~apB1qU7-^e~mY0GF_BW0mw@q|~({ zO=))Q_~9t&c$6bg8Z0zxKO>XkaVIb?9190n>M=mO0634GWDXJm+Zb` zE*Y7$tgP%GJy1k7L|Tr>Kibj`1BLt+tInkV)1{GiDb0$bpv8Nr6lfcEo_l96(l`N4 zJ6i4tdr+$1y|Qt0>AGPz1|-!CuFouz%rQR9;6HmNrngLMIBO#v+i9O$QnIlNT z-#to}{gjB$Z)oTf(zl?X-+`*PQylLm6y7bb4GidJL|lVPc#8~Hkwno>jyvXuUKdrRB;gajed^wa z#dRO#?sl!`Z|UT=J%G8d`uQ`g@2LYS6{IBoHOr@w6Q#N3jW3Ip3N6-IQ?nPeDbC)< zy@U4QK!;RsOqkUB_di8nOV{ z>Pw)i@>6fCDeE!NRxuS`=3P@$Mll`xMr=Aq4*T0*RvX}br}dJWnni$u9L2}a?v(rof+l#B8b$&S=*6()R}o zKiksn1)47$sG4L~y9+svj;7d~;;&3kf5D~%z3&dh2SgJAXnPKdK2T5uDnZ)rmjo|v zuer=8*>_Ethx>Qzg^+j?iw-x2shLY|`KoVjC*=rFZT@Le8>YZ~qf1Pa!O?$3@sN*I z$%31g^?g3BnpitDlz@QacW+^@aby^5LgoiyuE|xt<)JN$Rh@K8*}JT%zLo}%Y|=}^ zMNcnGVtyomzRFP2U!6Qg`jOrm++msqWHTbO7zFHZh;Og`IhkK!+#yLyK zaj&(^-!o>V2-TU?VXwRd>Vn0;)hYQ){*}xfGID!Ihi=suMkc0=nu~{3RaK)C6AEf3 zmgXx|p7r%Y0EG6zCVsuM`Ky@tiCz?DE`-QmP%|n{ilxk`_p2YK*5k^Nxvm%Z+e`WL~@B{(1n-Dx2iJC&~f2oYM zu$ddh_3@cic_lHGHX9lm)@lgR9k%kL#|Jr0fVW(r%x+G_X)D>3TWE57gmKW;*yPpd zv~VOP%R0z<4Jnoh-k7GE>j{Z0F|vj87E^Kt7nB6F&PewvJ1B;sb%w6xX_Al%0k2)I z)AB&eWtWFVorRh;8fGdu60^Z+w|8wWHRiA2{B|z;nppVWmbu81M;8OzNNiSrFGVzU zMp7fGgSU9S zaji8%_r4K!vYe3w*)5bRvYk#|`iO zNJ+-a-DF8IUFlUgir0Q>BQDGk)?dIINyM2l1?&7p_Bq3&k2@j(Wm&M#NzMGDwxsEm zp@{Y^?;x%3$y+5&1r_ohyR^85BH^$@_yh|Ion%pF#!|+-a|;Y3>%Pm7ysR#K>JTYP zWwi5iPHS-K#@jXd9BYC65{JeQZkOK#v?$lC3KFqt?L@dce+WbEygu7q$%@t5KC_;8 zzqYV!zO{#kQ7!C(1G@}#7SMR9zAi56dV>qvpetAa9 zMeia^5MA}m{NAT)iG~;o#Y}Z=ir?>Ku&J@a$tVtJ1sd_&c(lyDN(xTiTWP4OcEzx$ zCz+B_Q1m}xYk2MGc%kM7x;bc*MeS0rHcu-pJtzc9Z-SYY3}n0%zHz91Nv`El##Mv|Ei8>H(kqr1WJ9(9&$Y(JvST3RMW^}3@)h?aFcSoZ>BD%!VKszm7a1d8Q zrYW&Dubb9a2qPDK%qGFbC;Sa{i;A5szhld(AWpHK8fV zQzf?CW<(Y{`mI%;qotgt#P+Jy^B~`a)b4_;kGHF=M$Q)pJk8^Vi zGAq+F6g{(QJO_c2CbT`0XDsXc zv%ud1lBDMbu*_L~OR*FZ3-_x%?9)UXK?9 z#X)D@+9wE2hJx^f%~7sFD>Wu(=9W}cua~ZSWZ4};hu&G9);|}zRORLpc(Q_cROmI4E$;S*(dCb#AQMq5}B8?ZSwGDdQ z9an_j0~vQCAR;1xE*8Bta~EWE(?}jYr)|eeAUq1wmf6@7PwaX^Jh)q76#2}+aHCGq zvK~TUw4j+IH~>KJAD~6X^w4l6v7ox4sB9{Q`9U7Lf!rjDAYwH zKR8~Z{S5up?}RSp~c%ytjXbU>Hckf)mVOySTD&cqHP9+*qKA0KJ0#)5O zrCg7go_W|t{X|B2ba0OhUO(`E5hPNmLqtVBiw zOxs9O(Y~h<+>wXU4rQlfMRAdqrUdEhMVejP8UgXwq>vmqPruhkgT3kN8jGm{W(_w! zb$Lntx#9y4qSBM&4`}@w{WHCh2}ZWrdm3F94$VE~sAeShEub&^cZfpyzNIIZi&^^Q z@p?9=o^IW4BSc_H&M^72nTu4fj0 zr=xpg+0Ylg&?y%o9@k_;7o?&V)0MJH*q_Rwj7*}ipFd~~dFPPn?p1%bp2+(RI7P#V z1l~?4?r8}o$0L*@s<-U5>KfOQRPk5j7uK^@bF({jcwyT0o?EuOrM$aTv$xact!eMV z+6JHn-PM@Od$A%q@nEW*I_4PJ)b2VgrYUX@&Wgc=Vv6BCx4HO@w_SZuR{%EDyU;nT zx+7*!|7qh*YSHQRL>96KDCwldBqo{+dNW-gl7EGRZF*(Iv`E^8BQb|c+}4C>TtP|j za*vPoj<8K|3on;jLu2kfQD4pGiyQV6j9KBYlkPXq_s~3=i1@I*UHDIVVP^=Fwg@_D z4VyfonTQGDr{plAqX&KQT>b#!Jlmb=oUOH0rzj{a)Zd$}ZMeU?4kqUKdU?DNnULT- ze`jNBTd!CVpt0VkK2=)v6h8Ytf(G-6)H3|=36OU}Sk|dNP%V=uhpTFDKmYT^!FJ|1>^o z*I{2?-|e{A8aY6Ypbu^>f*@H^Qo2GHMSW^&ZN*zvWj$^mTW6Hevl_m_TT=OCmX}>u zO&qXi6;k{q|4WNC89CR$fKht@{6}k9u!;J3v1adxoaje+`G_+%!f;E2`KwpzOdo^e zofLxH3{l=E2&DL??(4U$KebGqd$tmPJgM?1n0Vrue)Xb2iUF1DuTe{d&S`PY-ir#} z&{NvIX@19h+p}FJuZpu3D4b-8$}`6Z9PkC5#Q|$CIA+PZSIz)xm~CyacirH;zTt^B z*VPjnV;e~W^z%#FQ{sMV-6$9_o@@C26dx$VF?!jzj#@2CJbY(QS?lY$(S!}cei7V! zZI9M?{|d2}D7*C0!FHwcH=X-~6tSeQgmOPs8{2b4J&Q?5-ys96Es^>n;uT;8VN{~?Th+e4zPpr9 z9zELpluAuaq0qXn;-J?OSvROsUTTnT$cyjkt4YTDnO~@uL$R1k!3g=mgMriu=#S*7 z2R;ugN$k*k9_l>klO#L8Y{ad?3`;xiRlrHO7SYb+&5D4kF((T~Lg{?t)ae)2v#$%d zfjnx(%wCtqH?I1(E@%&t=tkqW7FTfJ{=6`7E!D*|VN$8sqUwF`LBNiRAIa@69<*MC zcO#hQ&13f-eII67EAls6s@+lDE_8Hue85|XrMyF&Tb!TXGw<1-f3~I<_ z7J1XyBBo?5;8*vm)gSZj9@vbnp`-+C#^(D$E-sK4z(-8L-jR_W#kh{jV!&OJ7o8hD z+#yXe;2PN!9fz^*!yCwBx*}Ie!e){{Xy|L8dx=$!rqI^+xnYqGmCYXsr$?Y!^gDiR z#v+!Y)?nufXmY3V>`Q7R>MxRSc_sYV2j7fI&*{r}ZsN=polu!L8)U)i@(K!7PRHx=8~#{i^biQd$;Ab6z2EHM z2w7rYIXSTdT2G5dPY05P@L!_TxaT~rWTlgnPdPK!V)TEqu&6iE{DL4Be{t&g-ZPt^gVS1u!R5(I!j3*CAn>X;n+=1Z0W1 zOSWI1JaBBwdfxOdDngVTT6Ji`v96FqOQO%dozR31UbGTtBP%xUW!#mMl3#{reW|nw zmB=O^>tRbLu&dIZ>c3I1@jJI~OT__p%LC(e^zjTt(r)L%X>DB};c8i&UthO1v_!)> z&f8Ow5ZNa=0-aANnWn5dMKm>jxjiJL5OtHyxE6g0Nrm@Rt!}pGEkqSO5p)nyL1(=w zj+$NBo|sXIAuli;wNvnxKuf+BRzDRMR61LkSAGTJ=OqpK781e&oj0s7Ia=+;c=BY# zpUQpnU>-=~N)1m}nelks-N;Ym$R>ZV!d$G&>MT*PNhxq{cP%k!lO8R7FP$iYM_ zDuFt$NhbTNhYYx;5^ksLls&3k3Z!-Bhwebu4{pc*>IFcTFjm}AX89KOdG=yax}`By zrfGQmRy|suGRtcM^w_0YUcQ_*eso$r;_y`yx^({X%G2mQio#MadJ@c(qbH;3##HUd;0Wt_7AMW67N9!-=6t?a#MX3? zK6#lX9s7!zS%yARDu|F}IEqmrDmt1@%ErNAB1ynjpEF*cH?a!fa{g{atbrIv6PC@( z6T9CvT#R1_tkCuogJfFv6011eljUh-IJ+}-+rF6nN_yA<&w6G2wY%xrY2F2~ILkD1 z+obL{W(OfrEb^&0W#Q@s_|dsP1X|9feym3kchKrfHDz!g4L3&~TJADf%$8(k-bQqn zlx9W56pv6!6;Ir-vhMn73>c&^`AMzNTp4#<^nZDl_~Y~OJNOG17PqePf(AY&Xx*(oh}iwh|a{E|Ob zCP7g#i4yLt>N1bnsfc4k*z8|z-w_rMC^hi4or+NXS58RJ4o(gt=tR{e&g*P!td+G= z#L-l|S64GlLki3~n^0`Jg_)EJvf(K#1dD4l>P<>gF7l@cFPSxs$&5yS4~1b5cV+K! z4|)8-I?hy~jNSTS{d%i6(79yA1xMJC&CyuyUTSe3oUBTbr^Q+T=v(**?2J6qQH=nK zf6qus^OXve8EI+7Uc7km;lqcBlTONR!wNMZ^~hweod(n>ren*|Jk4V2WD#fYi-rBR zIBU!FAB}tJI9SZa{fK4^|ArlP)4Fclv;L_+o=dS2=J#@Pm9h6ujLuy6dC>lQmM3hJ zIk1M^2Fd=df4rTq6C)eDvwKU&_WeACg0OZ`kNZt zl**(KW--v2n$@idz6DEh=6QE3AtENWeK`zK6Ruu@sKughJ-&e7`@muIg#u*YN@Ldm zYMBV_Nmp@miu_IJ%9v1=|J$#(`rJ88jMf!rac(>|s@*(M$CV!9xz0I0FKLGqKFG=6 ztPA(pSQIgax9uXEUN-v!UXb|5#X-ooodxy8cV7)SzeJ@Zw&o<}=H_?+$e*ai=P9JUUFS&gy}%js32RmA4izQ_B`))M2w8L~r&PGt z8%|=GgwpMIPMvUL6W8={dUgHW{hXg=9N!*Mu`1{qtywULhI}~-yjj+JR?qp_ESCPm zX(ItKr?@S3>$4qA+DE69S(m+i-@bjxZ|_G$ZEI<}ziA^N+s%rm$%wY;hqNiQWza-} zSS21y9dZ_Ux0ckFkaf#tP@@@dO@@5It562VV#VgP$m#ZqgllUQ5*A4--V7H-)W_a@ zg} z=x7Uv#+ke4dNUUf@qih;6xHmGon;W<2(Kicif;QVpdv^*n zs8^RJhpmvYGzB5lbK_V0@P5UjFYnfb)W+(zZYMMrLK3W9>#c39itG9fdkX?uv|SH7 zdiRW&r2sw|Lknz8(k@E{_AQsm@K~XjeknRz>FRp#Z;_s!zSAjmPWj1yoW;^vv!;Sp z)}*8i0pf8#Ci?b#_u+rF&+|i>xl=Ib;4OWxcp~X&Nr|$^M*>`{=3x(^G>7%OccKjL zIqqIXryDMU@5c&ECVs6<$3>;Pb-IsqFL0iQ9pITRBQhAJn-wxddHz4*-UBGgta~41 zbkGq|$5B*Jz(7t)l#GgiWC=}^QF6{fvf)!kqBco#P7O2}Br8hJp~(#*nI=eDk4WxUIkR(%Z#2L(K?krFIACYZ*RX) z&ut<&66`uyC}ynChn?h;Q^qAn%f`)LuP?>4p_}~2?>S7jg$`J96ph*?^O z8V}M&=YM{zZ-^fgO)*+J(Ba^V;^O9V%-WXN%W!2~*m4SrEM8Vp>s{LRjw)f^s-CsC zckcBLit8mMlE$>~XN#sz3C5vy-m+psO$wTfThY#HR(mTJscjQI539e#=bya897=UX zwoB|_tDVb)M(FF}A`a&76s_nk1M24hz8I%Fg!|A?3+oPfZ!1hYI2aaPQCT^oXR%pj zfSvk^E#55Z?9@AB-W}v_80weB7p3i_Affhd7qpuC~7I4a-4egakb+QTC% zQ?L3l)*?%9Ajn0_9yfm^`FTV=CnqOZx0~o4g&09IJQfAatRFugtgzBaVi}4-Rpy|>srb%JhOD!*+O zc6qmU<)qm=O|6-gJ}7H0NQjQnnZPGM)7=`aPB*dbYx4S!Pz^i9m7|9jOplCK72hl* za@_7?FrS;uT&mjFWKMHfZ&j>rXw5FBx}Ba=Y&AGH;x3r3RiZHG<~`lSu@!jFmi+Jv zU&6*ln-ur6ch_n@r?HlYu+*03pFDh*ghZ9&xxvpr)4%=^_}k&1@xC|se@fL;mcTEU z4&Nie^8f$+MXZ2egln&MrxVH3IVuaib&=fzq`TEWKdQXEI+>&2M5&L}FBT1l1iR~Q zsS!`n{z+m@7bIBM#BunL@%JVtCPx1G;6Q06#l5xATV=Z54%fMfTI@tWNAn61_I78QfZ(Xyfu4~y7T`M88& zMn$aN=${KCMY3v{DEN2awj|=(o0-II(xz(uKuf&@ZysvNH$dn9;ndGzxnRhksNKA1 zj&`Xc+h_Ys$LPpA1HDDpFCXsC4J4KC?@wv7>;C1EVO2%PEGDL>mWi(lDN3Tpo%9Zi zKB4_Y+flGrR!i|<7AAX*Yv|`KY#GyYDeEsZyShGk(*H@z#KZ*e z=+J#27m;|H`iN1HrqPN`2J^uxT3VSH#?JG2xB#A>E2@2VGW`1aj?|(^H(s^&MZ)=m z<@ycEkMLYpnk8My(+uVvPkkov>Cc=Occra%Pqwe$mUeDqdLI5WA3WH_m_|YcIkJoxFg39Uk86l`A#9j8bL#s_Z?|GY&@_m>l&w?l%mR~ra(_8cf4VZ|?u%o@?EVr|nzfGSd+Y2yfu95Z zqM&k379}Jgz--=2UI?}|oZGxIrt&ld1)6E_P6vIC~-wDf0spK(hMvh*N(6O)tK4SlIYLl^d#rB(D?HR8NCGIS%TG9bmGT3{@H zit5`NOO`5+!tRtE-w~}fZDYw)I@c^{jUB<7ego<34S2L`cWjIX5^sShIw$(UfNnI*C#3eGcAu^c~*D zDkZ(r*4Cbwoz1YR+LAmY+&?55CBVu`EF1l4dRc<-<~MjGUpm;?RaqIAq8t3j)%N$P zc(?5;Id`0>MLiyDj*gf@_&z5rlUEh0*kCo%cyatMu9QeT$jYCB>}rmi&FtUq0QIJzsP)(%C(Pqbd{VYxFbuY zQq2c@H$8LRipY7*(}8QLnZG8ozR=fRb=-(=kVPp$AZ@h2YYe$?b8?H9&0k|$)kzkA4^-}$qcmxo zB&7caU=3KJJp9qwMR}W)vKG0 z$BDSBIRPcNa9PRKx^7fgK>@e-WU7Vo^pITCM&#amHTIIn7<>9j?QO%00&Ss=`>E~x z98`;fWR53uF2*!!t$dgHXxB*j;bry35p=#)=c557J&AgjOohWoi)VwUN9E{NhF~zt z;24IZKwXAMQ);hhcE-`0{CSbZRjxC%G%WM`f=5;@DX~2Mjg?I71twdO(ypMI)?^ zDYP8mB0YA@9E1$L_&FL|q;d~mSy}C|H4ak22$YzSS!U%E4Nqa&O$>~_uj?-N#R z#3Yx~lqtH0(EACjA-egkH6tra)em?4PKV~-Q@Q7!Sy^4ZJLJ;W!OR+>&ruPHeK)c{ zM~lv9WadpZ)gv|7-oD_qi?7;wSovr8b%)nGEg2TPyoDu#TRY9wDmDQTWoj8=`Xb>4 z`zo4e=W-U6!Z+S1Tw?SdP2}BOHWQ<7yc^){aj!47Y}duk=U2bg`njOf+zc_Ny4a^4 znlbdfI(0cDEG!i&Vuwvpi{e(O%T<9}&^y&iJ4aadk_n(pvSaoAT)i{S!{CTjuBc~m8(?Ag zqhU7aQhgctnw3}Ab?znuzowog!NY7PbCKiu=EKlEYWI zja!&D+#A2CV*1=r)M>o2;C zoRt#Uypqn-=s(n-ryaB2_EoRda%1wSXdDU1EH4ybk$g>`w!6;>{I9PeG{REN*L_$U zCK#*ZpZUhpax8_Yv&)xlZ$A3A0xdVDrjVWQli%{<&5ReMXO^K_klR(B#K0~E`Oa#V#)7gfz?#}>P)1F>tab5=VY|O^R z-`^jz2|lvNArb%28YtbH*QC!5zz_aa5I`@j`_cDr^4<&zCCxEY!mP@yOn926dw8@p zG5gKmrY}h;sfQh%6sRAB``11H!sl7tHJRP(MPJX|)IOvVwzkJoe9K8=UC-{z6N%d7 zhMU5gNfkNMCl)<^iA+A6`UcrWX^h*(yvCyYD{{)~(lT;#j<)#pF9LC6La_bmMJz>Hx%9HiuDzyh-LW$? zE9>j*8-PgiiZeHkJA@;Yxhsvm!va4{41BPTtFl~vOmy{f@RZ+szK>A)x=^iPVE z`%AYZf>u~pHFm|(OoYc`DDk2ujzc|1^8VZv;U^E3Kho4qqWI5k!Hx|#d#w5;-87qu zB4aJ&_iXL+neX0;7n#g5MxOI9W5^w4dbz2Qyexf}O3%JHFQ!CN!pCf~&ONDG~_Pj{dq2nBAt7nJ(*mFE7^&iq3Ii{7!MX{p+I#vack# zE?xQDk4`_}YLVvjm4V)xSlb90C-rR&a!Ezhq;%tHlPf|(0w_o7!y$jLTELYrVjNTc zd|z0TTl#H8Uts|)W4@j8pzrF^hiAS|TtcVT_*1^8yq0jL;cMy{(89$sMBoZv=P+x( z{d8*Z5=CaR|Mh8+%E=6s!C+mkMtQWpwtsKxE+^(=v!a(*t=LE%CL=4;qn-l~oSY(8 z1OM%waABd}_s=%D?KEo5o~|n}_19+Z0Cdqs5hJJ+Lv^#MLl`Q4$jAa-Sq zM^L@3RG6I1_wOE(W|`V7`2z!2GlMtVziWmR;!H2GGmG5KJ%iK$~Z9P#I_H6%)h_G@}*ee$EPIXd=cZQ%*&W;y3&Zq`N=&OBhxI@{> z3?ENAUv2Ao$^K<}-{U>{`JnEe_j_C~rJ4;D&~BYP!;eBXQ!bhaMB>)|ilVygKZ3=c z3yM(tiOmd?K=&i10^`;~=qwUIEmYjIu3PD5233eDi_ihF^3xafS63x)nklwRsMVM4flvt=EJQW!^d5G$*qg&Y}Bg(5&t@H?X zfrS9AYI`oTxlOn(X4-gn0pOUyAd|M}vE0@|vz&n-3%vbh24=K!TZ*Fd+i`8_=?J@D zX7DPtpkv4OI?<_5$Hfesm6he?&QE8=vM9O9YAOp%+6ALs$yNVbK~r%V{_Q;9pTHRB zp^Pbf{OOo{oG8I-4>SwB^MD?8oL}-+>-wlQ>ULkgQL`gBirISAx;d2__4yxP7QB6? zb>dem72K1dA_bmSUORsk5m&yp-ltbk&uK02i`uF|9Q@Kd(Aq6e9cIDsy1iq7Ne=q@|XboiBTr z;_Li;@}RYKsE%ampFi=aFM;UFNWXtVE%Gm6waWM(yNiV6|1;bQoefx{t^0tHC~kuL zxYJce6|;eernYt!_KWDPo|QK_Q9jS-c+py$b)h;8hxf-F`N;Xy9{JLN%ZyOUq+wWD zSWH|RVQPHPN)#8QI3E@ikU8|+ zZADnv_!kEX(m=Pn)CZs%Mo0CaG>#oT^!ML?v_|q0eLb^vE4L*>orfUT{oJ_aU4r{k zB^r8UxIss%kjO~$>e%q`Gy#VxfP}5d{`jNgoT6|7c=ss%T9+^#m_&@yH&MOYr$Ta~ z>QRIx;#5MP{84)8WkzR<@U8Esa?Tz;!|h|-fvoDz&c%FIgUL`uo}4dRItklBad~;! zZMF6GIz+vhk3YQv73>e>F?#8xiq$~1Y|WJPbS6*mtFda?2`qHnKezyqb%E5GPzoc1 z+ilDJ-fqi%J0|Mz)+1hV$m1zg7G8_5<~4y<68 zpj}|~2?|1)==U#2fzOix;TAL?Pl5cABlt3&d+U9eWJnJ(^YExvx~(fiHvT*{bvDq8 zW`X{J9j;j-DQ~HFx;0%WtYZ=G?mBnxqLtc0v#8O5XYytxA~PUmErN%j_j?JHrme@< z&nI5`_+)}thfL=?P6Nl8j%z#X@b_#+TCDP&J5L3j=hI<%B3g~5yP$B8Sx;|NIgZny zj{gd==H*FbuJ9?c7q@nHh+{sqy_=)ndRYOr`bwZRAvQ^NUKlikb`*lPU!LxjRaaLV zx5s8*6MxlU$d!T4(Up1dfT_10YLnMLpHoDn;p4}TP?-egN-ak>8zG$UyQ`^%F~~>K z1ve%`GdzpsueG&n^jqyUf$g7`&#RFQww~Esu4FLyVK&Z#==ku zT3uZ|Z_}H7>6^@`hAZx3=-amm{{G}e7JY4AIBP-~wD#&6sdT581`r4xK*c-XXMxAk zOSkY>{f23~5<*9cx9~!3>J)15TG%`{J}A>r8gqZ)=IhTFMh4|qFxX1(bqPs4|JdngbHwck=Z(b@>(zk z!{fd00f|Re$o;pA9aMC6cQ5pffBnh>m4R0MxgTl#jg5>3a+Zcl6rtlC3VOLLOhaGG zB531PTUTd3R`XIuULFPIjCtE7mIH~fyc)7$Y*6<6plf$)6{ZtbQFLqK9I`Pidb5;Z ziXbhN>IaGORiTP57qwWT1VyhI50zg`4j4ONGcih2@tD2=T5?ihArCZBm_-aC7%xOd zd^{6(yYji|rSCdLh3~|AM9Fu$i=pS17CqQHC6Tylsbacr*>cAT6isZF8Pf3~a=FOiVx)xI{5i1}=&q+_xNlOLM;K6_< zLUoTkKnp6+I*He1QQOtc%^d1=HmYd6ckLhm*ADhXe;FL3g{MoE(h;N%#c~W2UEQ!3G2c^=0N%VWDkOy46r|q>u{^3p-(+l0oiW zJh(`W_4R4m?J7)gD8yqC=&#tjGT96afou+)vUFg1M2ff@Z{!%md(KD#Cxw7$kMd(fNHR+XXR8?g_ zcD~t0RqNpDj!mQ$mAbj&M2%OM{Vy3ZYY9Ay!9zwyMqbm7JK${~J39yRAN`w4m7tr= zd$TgC_t$gW#sh96BAO2JHP@FD_v$pYW)^KG9t*R9%)Q&zWH@zTXk;V{EF{RsMWIoU z1bA?H%o^YpGMFPrj=-+#Nl$>DQF*m-Fr8yZ;ZkC`jIoQ{d{Q^XZ(X6LK3VGQHOwDRROK#$3^ zp00|9eVPeb>$(2CaU%=1pcP?7*S($5gD@Ydp>Mt@PU4OV%Ge-K&E)Z(xa<+IR6&ZcEkU;|bgU!=Iqtv^o02 zb%rLzYAL_hL%nntAXU6JBf`Aa!|E8{1$qxKK8O;HgpP-j{+AMFbNCr>|g1nWE9OY>5%dT=Zq3(M&FIU9PR~$z>?NGhHIsK$^*P&v+ z*Es$H?XH4YtcZPWhdSo8_TW%|-$Gsc@9n}CRb!q%&|i|_CiAk9?~QJue_gq4+5Zr1 zMlY}@6a#3*bdR5*>B-V4pp(AfCjqc$gCs&8IAiqr-YPL^P^kokjEP=wu;){D5;)> zLgx3WF6zkSJ4qp*Vb>{B1(ky8PL*Fr%p}14D($f%C`c_i&G#$WR4l(j$|UibXhmXQ z4q8()av!Q?!igeZRy@pIOT#lQ@|C^3qZ>sA=;J4D2-s5=rgN*0O-wYeek^QVXRbJAU+FzeLx2 z&uM*WR1b&4k&%&gf%4;!-kyrGaa@^@25Ogd6rWZ8CJ|UKabDXQJx_8fR(#2iz0h@= zr3crm$ZALpYCzENp?QQ+!~^I3Ad3k`ungMegR1h?FR*c6n@K2jm^R;BB$&hWjkr!j z%u7z$e3lc-dDU=f42a%2&mCwUvk$ZmAmK`hDi*mw1|c^tipY=f#bS!*zhSm$eiPNprgqc$sDz>t@XY`?U zxd!JX_|8G|M#W<1gC+OosxdCL)PwZRpnWMT!eydU_fytl_OdG;(DLCEpM**8(y;p- zYR!`OQ-g=zoVApM$(8nKflrU4%(`_8X#Y2kl+b9Q`Qy!ggP^lid4A-;rQk3~pK(M%vhM$q#i z1dVgalP=Pv+yN&74yWDP6Ry*=CRe~gh8@!OJF^#edMdiNp3#{&ey;rHP*t|O!ArN% z=9QkqJC~e*Aa$~fBHSoTTcl+wWD zp(gvng2bgP3;qES(uW9$t&bfrvJS6LLK5ot3%v0ElBC1LAU@jW*U`gk=F-3~5mB_7 zCY!k~wQBg;=@GV!3sbG`v_U1AXV|5g88#5A&*) z2gVE9+^D2&XH@;uz&T#i=Og|0suzx1)o>Ke4ieAG6EN2rvusBH=)U3Uo?%c=Lh3k= ztqS^&#YhSLQh0vxeY1x-fg7Atp6+XPm25u-Xsd-)8z2SG8dr62RX&g^dwZRJwT%}@ zem$yjB-xi1=u_Cy_a{v3X{l4*SIJLAI?2_O%ad7?zl)!w4N!}vV;0v+RZyGH!?{g} zCMCBhkMHJBFu!DPQSJj&UEqUGy{K0DyT+tYfu*Ch!VmQ@A;pHzYc3eiRduTH=2&<# zkH4Ex(d$y8-W@wmZShy?yL6m=iJ|Fq{mCNRucp+j_SJM5(rEd2-=5B0&M$Ou_19;V zN^g{6T}$ti_j>!|DZYfkh9WV#_1&@isA#y?vQ0`>j;PASMohl{2Id;^9oNb*MMqKQ zk=;|6-ASA3ys8QhvLi!D7K!Ie`oxpICaUs$Dk`v4(jM03rL2_9Q`DIot0E~iUh9@U zDc1F$Uu zBD2sGTAIImOvDUllx|AB{IP|eVxOj9e~TxVs@6&TTj@nlriGN#{2-cBXcdYW(Ye1n zelV4vG4DKnZrfb-v#@6wcT!JRN0?riseOwAZ`_s4@FV1b$EAld^zwxr_4*Q@bDQyyzGHSIl4J0{zYw*Ha`(#5?D zYUy5Su;!A%OkQO7*G@OslrV2KjcY!wqU(zG^hszb*FMEU;rxSI@D!U;V}f*tfCh#V zM~{&|)Ygth{O}u6flM463h+t?6c9kg0Bac=2~(Xtvqe#|Ro_Sji3pc#?&9j^+aSfK znxUGV16Ol)j#=2x*K3~ZlsPWu+l@As&YuZ?c~;YFUQ|ASicL!EkBfmf;z+j2P0V+S z^?bE?Eq014m4nq*Zp)Z=$z*HG7MK2209B8p(_H6bek=(|GFhx0B;_f9F%Km;?3#rS zfH7Z-W2B=q1&a+61>sVrArBR6zA(v~2@V$*w2}3}1Ffz|;%{&-(*#lV?{7V5%;;Sv zXCJ*HV_1>t>a;1EI^I}~@+_S)GM#RdYy9)7%Zuc~NndR*Inki|4PvbFX5nftoY%j- z4bPk4Kf}b96)Jf%I_ul^St{x;Sc5nY)fO~vZoO{i`QGb*Gcy^TtrW!``3$DdC7ssa zezaGmtlR0i86UsYVr3V(sT3y2XNQ^!<8R%OnWI|&yQ%y=?~h%P9?9ZZw+sc5p|P0~?O!)bYnIt#IHCfGfy)t8~*Vmrj6)dyz+nAa(Tk?HP1!?*{?y(nz zUE>c{yv<*KWjM}c;F`?fADi{gO7fK34F%3UvNZn7=WhupoMb%Su&d$EAjYeCPS+QI zT!?!fUtXqJ=pda8uW4}VY4kYF{Z+}?->Gf#V;-K0@eA;y3C0CFdwh{b4`5B91Gh{o zkJn=9bPq7>Mb4n< zKa(y_yl}e`H}pw~-8(rh?02?K^xI98^C7A73qw<5V-fBDmA`@R_a9GArbFB~&Dg=W zFf{m;`P#LyvU+)0Sp)&2ahtgYz<@k>$e}qoIbMJhvg)$3z`+$&RaJ-+x>$YSMf&^i zOaP%Eu4S3?0v6CG7GYs+q`m<{WMn%4T0<@7rHy>0$UGEsBnclr+yRV81_QZhCOthp z4YmtA{4s(~T_vMlnZU|`9?0fUWbHPWkwzztgmTam1)nN^8JXU}D$nx0DgdOk&xn4H z2S6_gYEb6jzys&+92@fkNx;I(0KjXmJ1q#h)hzTODU1ER9oDN?@3f0-MkA3Q1*=;B z=vcZ^QV(2neUYFAj(hdu(jhnmHY};;`FKx{D$I;`sVcOkN=Z%C-Fy!)MfHfss{GCp z9J}+-&8-aL8pm3TK;WRwLd4fMWK*5p->;qxs0>Irj4c=w99(49&ET_%pi1CicLA&k z)ny*QgZl2v%gDgM!q2Y`9bbE(`q*)-h7__{YA_MXGBUml3emtrteb_KqW=e{Oa^>- zVYpNU0gj$Ld6FRt%pqR=&wl`*i}dKB;x!M^eKJO>Q}ILzA)Z0YrA$~;1P?(v4>&Il zGiN-SU0{rTau3P=1c~jZzk7G7HCjMr6e8bCAt?9|RIqYvok2OGe3ol}IE6YGbrhf7{!+P_kA_6&% z079?qshXp!0{~$s=oHA?WWfSMH!s=hy^ScZ?_cs3<4| z?yrPbr$dBUHXZA}_I*6aVzMa|y-rSI&37|k{}E%e>Y-t=P=5R|uhFmz&MJ_N34%!L z=o#U7z~^V-kOn1P-H#hh0NaH&8kRjC*MqykasjchRc7I`M~X!_Afkz|jfcEloSoGG zA^udXpx|vuzW^^IP$p^tf&38IgDYZUY3Zi7w>LGv?HxFyO%(voHRx_43mw-|kc|UK zyCx+iWy-d#lN0{!4Jib?6@i8e2t%I^P$}jcH^kvP7{BHNlckaIDBRNifmrv^Qx9dD zGCtb>VJY)_2-EYscfa2E_tB9YF7$HZ=4b4bm2&!;C_ewldcBL7ZyB!X(lOH)Cpmp> zr%d{@1(o9M=el=D(V5l{75=(oX(}t7VCCgq*y@&eTvIbXXlEfTiZgC=de3W;+GeC; zYhrz$uB6Ncf;}X2p$shq;sP$;Rsd*Xrpx6}ct~t_=Ze1cTbEcspQ`LwEr1TQXm`IH zNA^AoE2|S6cKS-X4~<)TcVA#iT}LVRwH4U(p)oPp z7!2k!5l%Mkfm~%;em-C@414>V)qO~vCP1fzC*uLx_vRrYGzI*=3{a)@lIlJAXLqjJ zSpk?ZSYQ$a5T0f>@PiS;E^j&LCq9_QIn(N2Xkp`WInGyZ0+0?6wGwE-Od_nrid&_O zfCMS7njSVTV@1 zmjIJwK_M=-tW0pZWfJlYa)>4axB{tYTp*OAAsxtt6ccscl(Mf}J2- zP>uzzH1&4zp}R(M=jIIF?&E&| z0ncwAj|27{$z|l5Di?7*ycxe(WWY{OFM+6A8rO-lP{k(&r{X{d47IP@fQWcj?rjVq zNDP#Ac!kSEZr@+j5yTt^uJjknC#1q=cd zRUrljlK&CV13M6P!c-jki5CPCp~1&PSiT^R%C#=hEV4cM?i-y;fD!Z6XQ}61U-lZG zjxrM38>+83q}n_kmqy_~e%_gE_U@c|XVgsdpn_KTNe3QtS_W(WgxYjvKR#K#i8FKK z54h7>!;PSs)F^9Z{wr#Bc6oHOU;S?OLN>&G;)%H<0aD*NfQ86TM>_-}4Z zi1|M^*V=R4Gl7@oV}&)KkYF)$va_c3_Gs2|nkRRLN^JVT(Exz@-4orPLHpBStvJ$p z{;C#0Hi0}qB>sGhWbIjU)!~D{JvvH$0qIHN<9?+BKK1&qGM4Sq5ag?626}}RIkJc2 zn?W5tp1kor8sb|8(@*l0o;rs?_MIFoR>@A&+%>=}H6D584L6VM}>u&XSuCAqFY#NEIxcB$qH0qFIn^7Fh84;3; zT@+~T1n8KR4#yvrG#`$EkmHv9DkCE5Fs8 zY-(tjXUJ5Ou*D9Ah6`@s+r(XEaD@Av>6^%dHTA3WoGw>PlKG-u(SS~c{E;Q}D zj;sy{O%>vLOg4va_Lm{P9yO_>)rL^LZJy`~aMDZFmo!5cFKsRD`Nub70>J&+!4K&UJVmT3T zQatcDhOxo#6BF;*RIZ0{RPWk{hKK)?Kt*yx)I!dV?gY?;jpNIvfGk2=|1L1{2qkb9 z@?ASh?GeE8gkFE{3?VLKl_>)~`n z{J_}tLY--#2K&!d3eWVjvJZ0KO0c^8e!t*?uGyBxV&9+E2k$u_=05;4 zf=Scv%}8OAL21vux@?U^la2#M;j{3L!tf@bsdI^b97vHmScB&Zq@zd)`>t0tV45TI ztLkj2kPOmNNJCtie-dfk-C7IMQp94kjkNS@TerxcxFbIN5aq*&yJ7Kj=Nbz7R?jYj(&I7tcSa?&=_*Q{pjx%o%FLn>` zZajeZ>s_)pXF>P$A@K?oDJ{cI+PFMnW>H!>WXk3YoNw{Cs6N7_DqPPzXtNSq;BeLh^io*$VA0f~7NE zT?OCP4Dv6SxuAmm)wlyTX~ESN?x+9@8^Xq1HWrH+TIhwWT2^A>btKi>CbZN8wiBhJ zlTEw-%?B(Lk__J;7uy#H?79zDvSU$K4UHy-X<2tlT+|8Sck_UZ4R!D95x}>LPah2Y z+w}m7)0WfFadyLDu<=U!df}wNUTT-&1Q;|m=jW=~)F>XqhCf>&s{q67KvXh#f@Z_- z?U0NFbWR$c@)X+{Xb*{v2HWQK^6{SPy9mGi6TdOa~WVOYHl{Gi#7=Dk%>~tRkFinH;w}!HCecI6%+D zcx}%jv!J4)k_1u!{~{wJt2hp4gG8sp;^Q(oX=N}FHDn;l zw}0E`3~ev6y36DBM3Bs-9+CgSf8=*Pq1_G~3OaPf0#2qU^x?l)g6D^%A9!3>3^lUV z;Gfk@QVimwA{|zhr2=S#Mt%;X;7UA0iL%fy5{%J~K$_43;{Wl(&m7`hvd(wm}C; zVnFztKoe2GO(i}Z8A%1^vG>$YwHDC!04Q&h6Z?}!CnVDqr`7xpWHSEOq?KR zZ4Ln%IF5_PK!>2O^bwx zPEJlTGS~x$lZdoHggTfF^)<2}$QG-bic4n%)l^i1|L_5SlP+VRAfUu%H1<2B+Eg$+ zU~BkZcps|XwMyLueq9LA5t9Zd;0-J|BdJYr0Fl8%GGz_=siMHgMN+UA*wo{JbOUDL zi7*cF)biBjfF)|0bL=&A<41rUh|5%!loAkMQ-g6H0|R z-3<3P;1rmdkH=|yZUhM@0+Y-XGV$Qe%V-}!z>)*thStf893h>iA??%MNcdtuw-LB9xLj$Q-M{?t+nlt?S{yLmlRNhxi#YP!^GbPS^`K zb+f?3QClrUgo-LaQe?eH1))ti_G*~S#=0+dA|$pG=NL>ujjU{WY=a?1?n(d;q72M~ z&^!n2tw&E|JyxW*JVavvZ9?igAY=aiH1TsDv{rurB+p8MnEzXdMj(i_m}q!gss6Jh zsSKMP*3$Dt*lR|eU0qif2i^|if}ot8of9*kfO~~V1tMNBcM!ggtB2YuyB_Rq0x6BF z67KJ*L$;j(TMHorSm~C3d4962$4ncI4u1j;)n&?qzqijR7ql;_1hw{z% z0*ig|db2tFAhDIRIZWiu6R{`X;xp-~LsaqK1Un}7?n>wBiV5*S$Q&fR^0#%_EW^uB zkHIWL#vYVnYn)iMRAAboA_5Z3fXSHs)h&+xusxrUgt(rd7I)0Ig6kj+$!pl~ri$a} zo;qxaua&TdbhY|`J&-E>E2tN+wG;@0DPQE_Q$X}3=X zA7ak7yE1c!6Y%!Yg^z~LhQ`+|9$WN|M3_9CoDKzr@-FS6&<%7;?2UX5298X zgN)LVw@lwNoTkAo`SZ)082T@clPQw_5(C^3gR{VNQEF<%u2v8ULYxg71)XUDErI}T zt}m-l7}73M^zJW{j0-ElImx0t|K2UB)H5}&GbIRng)y9_8aa-N<^SbLpL*#pjZ^{{ z*L^le@!hSv2z>!KZ-W)i6~EULRjC$UU5)$KU6f(x;u6*un(J+-8owAB#T+y}z0^@Gknft=|v4 zxWf~|F5mmt0h$v89TGGk*lx3=Xun2b>Q77#y*-NZzX(=5*F(z%|%ql#W$Uk zVTAs^qGUL{vbjv2KutA2@jN~R-8YU9+f5JXoOa-M(kJvUua=ACD#-zeTEe~CF= zN+!F5v;9{-7-Lcs5Z43lMk`ff)}DZK;#$hU&1{r;5AC>?O!HIPL9iHaBJpB{RNkJH z`ugp~Eak0}`&s?;H<{kV-3X==nD-5RH_7}56K4FaMhe+>pGE~V+Pa9SkX zj8|5~v3YL)2$iDA2VqL%T!rEANE#iB?){uHk9Jslg071!{x%_Y-0*%qC&^lfI%Hzf zvW%0+k0r^e`3Uc0rs`#+{8VR(oAtSx9`Q8lyJX%Pw(YR(zfthfIa_wO}R5B#q)|kC)fwZLIlE3)Qm*eY&31$zr2qQl%%p zH*)8A5pP_*rBmZ&|Ct8Cyqtx-u$a;j%hKyF{pg~ab!q>Q#mL$7TVXj)WH71esjx9n z%GWVGt59M%w=DcWbN@8fE?Hr`&V=T2fXL3ljq*V&Hfa>J{97V!Tw%NcYGdZ?*)8qU z?Bp_w&!6^Yok;JX3_cJHuXyeAU2@Vz$kC!BIlAWQ$cgg}DNn7PrW!83HC$!MouaN> zRrq9qKUc;jD-$(=Y3|y9WG_z4W9C0`}ruZgW9* z+FU+QRJUDo`J#7iim~dRg!W4^3eVI>RXT5LGAGt9@SdzJ*|rb8=)^KQ-Pc{J7AiXa zwj6)9@hqvwH4TFGK%|Fe$WjO~;d%t&<;u><2~N_GgRhHfqb5W@Q3{R9m93K##n8E2 zx{Hx?(b>Z9yLP_bv`UYXm||?@eNqk+aehypoxzVb17qtK^pzyA-G+P-QJ$7uQ6a@* z*lm9T_DZ`p^P8JCxvF{UswsDKR*rOOm-ty5{42zSu94*)2-A>|y$I}_DE4&avn0sQ zN?kJAJXTnzA5Ks{V8qQkC*9jWNkJC+z&SJdI;r>$Z)0%IZuGV~{xLU8*tkkE9fJT{ z{t)}A)mqhwR@5y)dDo8>#c>o@PBORer25~+Dd&FB7=1Zs+r$v1(B2#@cAKe$8Q_hg z{3pFkUy5$~=QW?tYtZ@g;b)^zI-}B)lbif>(rTHCRhV33iYeBR>F|Qb3kiYuUhWET z$zqyQO--Lye9YA^4fA&T5Vk#ea%f^hBdUi|_3l0+7vX#0bJA1w=<;YTDfTj!EaO+Y zTImlHGQH&3=v<^m+lOBdQf zmh%%rx_SZc<Ia@3LO5^VchsxfUex?=;#Lx)CGbd_$@? zBa^uCyNyT72u_xiJXuc*08df^?X7&I0xke(E_ z|1QqL9KdqH&&<1sM|80NvPEdOsA~In`%sJJrUl0a<3^>&Olf$_yj--vnb3v})3+7H zH?Hg{{q@jv^C27;Z|s`HTc2&V=|(|bKf!mLVkC|}t$D=IUz$VjtxO_A1j_rE^Xj;S ze}4HDsxq#uMCHbTH@`(?U5JQkdCZrRA$S3$D&wL1bu*)3QRzchVcVOU9iOI%?uugt z1Ib}>#;etJj#E3Of=XJ_4-*LDlMQ*zm;87g$+aePO=c4kdEJI*yA(&Wtlw{Hi)^Fa z8G9FIN-US$RK3!q`*?L$Z@6Sun#yL}l(MdNoJ`7L?z2|rQH>uKE*TEYJt7cxdg$$=Ut$WzGuy-$);hcqZ)(-ZXc#`S<&Z6y zXsW6dfoJjNjWARzy59NjydMioupE2cCHV^)Y}qe{7>*h$%e}oJj482_SlN=9ur2SI z|1eoc)uQ9EApz4H&te7+Jle4F|Og{>6(8NELzc%WCO*LwT@RLPRPRw%f+ zC&(M5Bxy7|n0C}W;?v~-V-5DODaQL3o$LvLUd_%qLy;m!H8~4f#4}M;uOG;Jt(($a zKUIW3IGsYzG7!TMRXH0YIRHf9Y&Iq7`}T$XZvQ^{jDJf@i>TJlfxn1UyUoF<0|z3%W~9Qn&54TV%-&;t(>8nsf>wArLe5lg#IywM9O_3JLzZ9YULGU z+h_bQln;~Y3Un8r>o$?MJ_yh4ic}RUWE^p3MAwi}q`a zWCqH<)>JlqlN!N71W!v!VY$X*;^BQ%A<@_<_JT4GJ?~CqF#GX-Y^O_8QAFJw*;3A+ zd9sXKOVZidVfj>AR@tWqCQ#3Y*d3~*oE_vOUT%@8DJtU#*ClpW-s`EZ4cFRh$xxgQ zXGp!RF`r*N&%i4f5`G(9tmQDlL&4N;q{gGolvDEHg5m?~0=m+WX%Td>aJcr=k;y@S z-``J$5dE4KU7E7Cd7Z_^!E7K8@-FGo^|4H=(qp_7)6^Wrx)Y;N8j_r(2JW>T4eg z<^En}{5XBu96GqVc{O0@E_lBpH7qt?NJGmiR|sw~Wc6{G(G`6YWRr~-L3=dPMXiY6 zjj*p|u@x$Est)08O&IPY3x#I#e=xn*!|IkRqgyoxEH_FOmy{a_ZYV$KRK$sn^$3bS zQ)_s|CYV($eOKH4I(d=X3o=TFP^~Xv4i<8$(x)fCi=UE`375gt=@H-Fh|Yv|kH>oFCL&k@*7~{;_>34dvhqZkaf+%?#$HEv*FpH;(#B4xcnW#Iw zAd9dMjf!LK6X#@ZW=R`Ld!#!wnm6tw^qpO(VkEM0QstXjkgzL_0Gcmr%kkk$TpiO0 zlhj@H%oZBgRYIBVrq?NIG5NNNc(Mwep&tcvdwqZpLQ`oI$5KCjU{nAKAS{V;B7DC4 zX+5)X6i+MDH`DE_vk({~Xjo`n+;W{~@s5_raE4y^f>;kRlw@X;i+g{aF%&2m|9g50 z7p$dDv&u&5(3@WP!7Ie!{-le>1n+T_=95B)e{}|lts`IPQrGB)7p@hxqpGqQ+mLPO;EJ}WX!BXiSkE{@5VwOaW+HuE{!+4kEj!TT|R7AEYP$@LSr)NWxuu-pS1H5@Jkz4Ik{J0<_vILM; zgLDY&tn6v(@saeRqid`I&6V4)>clF>+(^-tZ@&uzHgK+bot>~duI1QTB!KxN=;wXn zSs}gc2te{IVE%I>!Xm1Q<&ZW&^0F}^lGVHT9D3={P>St1NW(6a5U@yfg`dL`;Fo`m z{RpXGIBWU3ME=0~ajIxh_0iIq>-6+^G0g!d{E>yxYQ2|=!nioLHmi;K@zkZLSB+L8 zw55}Fee6NCqFw(7Z(jjbW!}AuIx-^)jsZ#tBhsZJofhB$>5c;`A>ExSDoVz20Vl&m;fdE#V&<^G1j!V%N0z!XTOEtVTABYUFcZ=6yD|z`rsv=b z7a#&QN=ivV%}T!2Bd+W6Uaha_1~a?MZ5QVY&H;0&jgBObyZkC`bo8qO+Pp-y{;G}J-5v~DZqD{fs;}6@0+kIK zC?=-M^ki^zYpcCl{n25D;Z%Xo_)^8}Ess2sWeQ<1nU5)B%Vx=@vuZTuGa9W?#3cfY zqiV!vdv!#9qOd|UZIE0n-cZIXs|^r0`FY(}_1SB4IfFkn2?6d1T)Jaz-V6~Vum0C! z?$bviJsSmGm%}2Ktv$E&I7ClkzINJh;BjeJ1XbeS)c7ymwh=ZxZ?ep*e}7UX3gvOjxQ zBF`u~#aX1$rsL-b5p6uu6;0RLP*1T2Saxn>@_2vAM78T~*{XeIAIKoet4m5gMs;Xv zPiKAlwf+jP3V%s``kKttRE0P3n*y{!>_w(w(A1KwEGH-dI?B-D*QTfIg+0|!Dsb`Z zviPnhIOs$Q>L>3kj74m;$Xad-?VfEAns=9dE}&SUk#lwDR7_WL0JULZ6Fm>{Mw&;< zV)-vs#+L??oxv@o035yThF*kXKY>OH;Wl2<ijES8bUv=fRpHRTAMb8@p{cEG4Zh!yAe4*LrZ$ou7d^b%@OiJ$7_LsQTHu1Qx zS(k0p)k|YAEya#*R+fkEjeL6g?Y!mQL%kQ%$zEyWG5(r?GV)+G&K`Og=?1LJ9^eO_ zeQ&L||IX>hBOr>cV0XV-p0bmA?3|QoWyfG!w9__^O;ZJSvK1O&oJ4m%d$BvbCE9il zmMZM`lzJ7l?!#Zgd+Tx}37yx?@|4(C*6wbtl9_#Iw?E$B*d#jNn`8RNAZ}!sU zL2u26&45^|@Yy9Ry6=GO{rwZjtg8BZDUav3FIUuMgjmwjhaBQ+H@$Ip%35t+f|U}- zAC^a~qKJzFx`r2=hqE~u#mtUT@b3^7Iyz}&v-ul41daBkv^+X%qKhD3`oCk(K zRumk05=C4p%S-$Q7iw^UMNqI<^R9K9f(8!wirNROImg9Yd;S5+5^aR&x_z`!&*t40 zId+kpge3@`*pSAYtuifIZS33-)6Tu#vlF>nAC~=@Y~0| zTZB{klHBtz8uT1L5p<$^`e)OAs$ifOE^+=lf-RQ{$jZ-8c&UT9Qctg=+7y&oFo=YO zRCz#w5amNzuf6`M*VQ}?^s{BCDYH-o6u4wUg&J&_aKQUBNr_Gd{8cP9clS%G>CaCm zDocmg05{a?5|1S-Re&kX^QV>uG}MqlF;gB%_p5d*rTFz~=HiddMajv@ZL96=?Z!|7 zL?k(Arxo(h1Kt*D!35^w8QHXL>8LZ+-oKNo*dA~ACBs1E+6e|)ElJHqictPSM_7^@ z8J$=L651JcAH-#VEd+u@^0AEE5#cbR_+ED4~ z>0C~K(uuiiK*3f~O|4Tg+aot2^E6TO`&T3z`?*W{a#yV%P%R4@UJw`+-q=mvdjw1I zz$$TY3xra2LdiS?7w}0_D;v!0Foc(ze2K>nM~>PGPrTXV+43lBYIe^G!nFr&4EXx` zT4sCY(hCsZi#g7YYZ?jdFb}P~6tXl7tM%%>}dh(Ll+~@w>r)6_L_p=@0&u@Ax z%1wQQJKt4vj8ky<72Cpioe6KfF;AUA4tvU98DB|@6(1e$x7E1GU69Vs5!C%xRLbRI zIs7L{Z+|8~n&N$71zPFXJ%bYB9rI=^W2NtK{*DR0Cx68*uuoQ=FlTLb)i&x#uB%^U z$E+Qdf%V2o)f=>VS6&<*3|-2iFrqT}bjZ>3Xix7d*=p*gWv8v)=b2nC-ocN}mNzYH z7wSe{*BIxgcdPF~Ga)K^zgI&EeeUlE^54L#Lmw|HuJ@DmQ}M8-T!?epf6$gSPCHs~ zQG%iS4M~QJ)cl*aZ(7R_vp(TknTkhq^UF-rniw}7JgZ)=ll*poZRt7riqPn{$0y>A zF!z-M`=0s7Ts=5&h-L5?fVVz<_q`6L#IBK$+mN%VEWLQJ?kGW$jce0x=Q!OzRj;bs zp5`8_CqJ&Gy5TQ1_pViK^UrUO3>-=gr&|Z?KV-f6c312Bv>jtKUN3w7ro_QOxw$L9 zZw?I6p22P(iNPRnIPVuLeM@tGlUR})VeqVUw+}@ZIiJnh_1%5BY zThY<#vKfbCH|O&2JiW7$kG4*+on#B1QNu`(JYF%wG3%`hF6X4bH&WrKPPu`(X{%vS zs7>|NFRdmDf6G2{@qvqlIJ*FaQp~C>rIk+7t^0X98pb}#eBJi0x-nbDSBhn?fG}uS zRi5O&?6TYb*yJY?0A$m1;Tc%#u`CtUXEC{29*bcQdGQzY;zcT6lA0ZLILS8J6s(EU z;gh&_VwChTc|Bok`o@$}h5PNOJ~6XXtH~qVyxJMuk+Qfu+}fGBkwV44eOcK+LUJ-P!c%TQ z%P1wR)cT{u=omsXCAMh=%_&~UGQIGZ6D`*Em89Nu%(U(CnX=Q%vOVn0#ukA2N<;qm z!J<&4l+WLIX83$Wm*Yc?9EP~&xp>=>=!OSUW`Wvm>DNde>nkZL3~g)L7R|_hd_KBJ zp7vop{pfv0$^hBB7wYD0jVE^K$;0^8AFIjSd1HX<4o#lY$nOqrX7r5pov|F#C@JBW zO1tFN+*0mTBqgQj^$+}#mBNpeBCqatQ|r#FS065ZVaj{a{I|~a7w?xpl9D$(8Gl+47aI;Ct5`EY#XA8jbz-&b87)iKQtikLd`k_)va@ zo?*e7vtwT~R17TdZxzqlk4Pr?)^X&eRgE)+d`eeipb7z`-Vm2obs8!veo12i4a7Bx z&*@vv9W}|kA*T0~#!@}xp5|2F08LWk%oV90(^O)+CG}O$e_)R?9Z42{PtJQGH9$Eo z6$MqykBa>fk&)@JVLP~OhmcFD9=I(3gjnVDlPTQQibXrB6E#n?B=RKjwu=YqY9sC> z-CqALx~MazU@rTVWJVIBc+k#n$zbWY=$n6>%e{iCnMpBpW;UHA%l?^Ob(;IE>pbnCa;9 zewpqxr(^NqH@3+Zszs?{H~fDSu@ygu)tm_FZLN${OPSFuC13K1bl`~iZHo<)S8u{E zt>!ax&58XaizzpK^0R6-zxs$L=k;4OLIm%StY7O9Z|BmM;^ir;KBdq;6r5-Hs^>+S z$;4W~b$Z#UCoHXslVs6>g@MdbQx?<}BTnyB2JaUmYwIGC& zo2@A;tNEBOroWvH7aTlSDwzE0o%=yNGhpVy^qww#=hqW|!EGb0}n;XDc0K zwR_*@==5Krb$mnqk46uF7+n(7b{cjxvN8y(4^9g6%obUBZu?2`k-H1q+I3UcIYNth zr^3O}^G9lC^6O2eKhQoG{_K>Hv@M!@U0Bhpe(+=3n>WR|gOi~$>vayAh8(2$3+Lq} z8lU-+2o-1led1alN8FsH$um~U=A4aa}ks#URKss|{?iYUqxLwiS{+zbpyrqz>zCUgdkH^dWH!-)I=0uB5%VjVSI)_HWf; zs;YITMKo$_c?1q@V=XMA>yFYW7<~lJ%g?i$h}4y_HWTl6g6hCCWJzMP@$)0z+C1j@ zrCUVwe@;C47k?y>dGpoSKe*!pwMY03mmChALGdAz+(R#$pKSjnp8t4?|Lo(2>looP z2NV#<4IbEE51VL-1peR-95lo((Tms{XtL$Y({Kl#1sDP~8DnLrhc#Br@naU$)BQv0)FL zG?H*N(C8(f5e2GQ&@NH~C{l>LSc~57hI+sI_Xc2J-kLWj`*od5xWsZDcTn{}>}Vv) zvORRvs~I)iL6eM-%{HVPBtGwj0IRSE>a;1yf|ZQoWEe2JYt`Zm7)0d-9yzoVaY8c+ zFj&oio7T`-3*|!SXXCm3?ze!`7q0@1Tr1BgpiyX=qXE>jpy5poPtdgP6PSN^=mb*3 z>VU)!*uG`2*?(PFbLmF@hz72FIn&An81p^3hJHK1_L~OQVn~Bg$onA$Ac>+(4!VZa z;Q{Cl#{h@`xUCEhaTI}P$#P7ftD~dVoUgF-EB~N-!qk*0617z3C4)yOnV<-^@KWoX zzozJywT^KREC>GUM7y$l2Vy0mriJydQB+9lhwKa+##VqP^Qtb)LqOUN?%#)$hG5{; z0MpL9w|;{v*310D=@J!v=y^F+z86lw78D5fYplngrUK`>rRD|fa7azfobO+o+zefy z-V1TO*G4oImf!2A50s|ZjbY9)b2rdRMv zRaI4o&zP4u+$#{DF$I|)_%m8+0OBBJYea!vcZ2qdQ>Zx#`X&~yf9qfChE9^;KT^bZ zLDPS^Q@cUz=gvd45d}AZv@K!coCyq&Owa=H(MGXN^LHcqsq)?SVV+_S`W0w|xqrsN zm;(cqClwgJh8?|?8H3$9&Dj`KK zw0a7?HHMtD?i5e$nB&B6^*_Z)sx<%$DI8DD$`YG$14W{evYlFAI8t1tGj50lDXZlv z5_>B$;jhtpVZQ4pB}lN@_ZnWLG`tXLkW;F9+S1sH)XjkJw1M$*Zk@L62MN{Trm!~C zaG;CU-cgskqR~KYlt6N-WbE~G19MgN?ThVv^7n0{)m{V;Q_4~Z+8$uDAgDauqLsQf zYt-E@7M5>w(t+WNa`Ve`g=KlX_O|m{leZcv-1G}dMoA^9vUq7KqDR82ZwI#s$lVRN zz+yKPg&XL2chlQnu=25C&w9g;De-oI3H6 z^_RXcm><}ktFhn5|5Q%$tE`U5?XkZcVtk`cFXJW0d0xxfZCEyD2l z0f{;)g}*|Tlt`9VrQ!>gZpKS&6b)K-&35W`ZMs(IbvanCoSgbnR8ms% ze&k06_~rSN+WFTerZ;TKi3zrb3Sw?o@7I#KOcxLbvVX~)41cC5r>DUF;E^p$s`iZB zx;}344M~;`^lOuyu@XxWEf$v8-oz(eOi}zwr{XA1 z^%#DCXlT88Qsm(G5Yzp#_sx3^l0rG?XAR@404lG`-#4c-g?$S-7cM{ zs%AI4zd;RuW$0}ciH{#6UP4JF{u>vm!>QD_n$-B7#Us)J+rH$?3{jeD_;m%ZLlR}Q zkA@RM>FTUpv%g%|SRW`fSgVR6A@4DZcvR3GmLd`z7Mp#KnIYn0;?|Zbcd0tt1cBC6 zKkTAWIQ~NF^Y`?aI@|S=*1brpOK)fR$;S_+sDfOSy>~tx*A&f!d^Q#_5~c|_vOVX7vQRdkb^GDyIR zr!JALYWNWAF?AhD${=I?3z3F=bT0bd#N2H08l?q`0d@1|!yCp@PhG&1^5(D1`R8uZ zZ$K*n*_nOC+}e|uXw`K}^PTT}<-c#&6tl75r=8^dv}Z@dVry^K-s7unY@D;EgXRz^ z2R&%XbA|4hp#^z04pma3>Z>5wa3QPSV;{M|(Ucb#d3}vYDFhEcu%)>16!&ERLCa$1 zo=^?VjH~!7N;+qQl;x|>cOCXD{KOex!c&`AG%S@Iw@`FPI;`9HnZG0@x%!)E*1Pny z$~uof#@ox#dmg;QM=o%aw5d?-8udVQ%ge4?O$HL$lWoS&u4qOsT~&}WnkV+gP!ROJ zht(?fiW_m6+?Otasvx=5Qc$l&8w5HC2T@YuL5K)dUg<IWt$A6j#M$7Mn@(d&067!%0VN1IM-L;kN4{ zirGOA-`#)hxSYe5O`w_@968EnX;<%Q@VQTm)WXFnAf_x#jMGtb(_A(GbDRiXwe!7H zjKo(FJNA0zuIz+mtG^cyk#Q`#czq$+vRsWC`jLOE!EQCxPjEvC_*FRirXT22I z*5-sbFVL}$~Wi*Yeez&;2Rk1s$`yO_&KJ^Aqb^Lp=SiUx-UXnqynH_lb zX($t0lrRelYC>Pe=G7iLJTwYN*{+8M(5z3U7v6HJ=vzt`~9c z<#{jqtRjYlMU_9vY9|)bn+>~?u}YmRQ6kx!p|Q-Yr&Ww2R0yW=Oo76%C^V%Uw;;~xAKb7uRYw_bdhe=t@ztt#D;5?MCevIc6JTP=kMmhq* zVp-dI3f5QxTirV#tX zr1_JI?yhV@wH$;#LX%f^Egx`XGB?);W33bhGzZ1!9HRT^ZKFQ2 zjq0S~u1+hi98-ULJG|?p($jh4&Ak)NULABBAX9w-ZNpG?JDbL*0XViYbo0U*EG>F> zLf&v}z>zTDU)m+lFdL@gGVxh?e!L8KJenKONNes(b(H?~-5rK|pI06R?>popPb6CM ztN00i;9Yk